• ベストアンサー

flashのActionscriptとムービーとの連携について

Actionscriptで var p = d[b]; trace("基準値は"+p); では出力にただプログラム実行の時みたいに出力されるだけなんですが、ムービーの画面に出力させたいんです。ネットとかで色々調べてみたのですが、イマイチActionscriptとムービーとの連携の仕方がつかめず行き詰ってしまってます。どうしたらいいのでしょうか?また、ムービーとActionscriptとの連携を理解するに当たってお勧めのサイトなどがあったら教えてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

Flash で扱うテキストは3種類あります。 そのうちの1つ”ダイナミックテキスト”は、ActionScript で表示する内容を変更したり、スクリプト中で使っている変数の値を表示したりすることができます。 まず、「文字」ツールでテキストフィールドを描画します。 Flash MX 以降をお使いの場合は、このテキストフィールドを選択した状態で「プロパティ」パネルを見てください。 右上の方にテキストフィールドのタイプを選択するリストがありますので、”ダイナミックテキスト”を選択します。 このリストの下に、<インスタンス名> と書かれた項目があります。 ここに、何か分かりやすい名前を入力してください。 Flash Player 6(作成ツールは Flash MX )以降は、テキストフィールドも ActionScript で細かく制御できるようになりました。 ムービークリップをスクリプトで制御する時にインスタンス名が必要であるのと同様に、テキストフィールドも、スクリプトで操作するにはインスタンス名が必要です。 ”ダイナミックテキスト”か”テキスト入力”に設定されているテキストフィールドは、TextField クラス( Flash MX ではオブジェクト)で制御します。 このクラスが持っている text というプロパティは、テキストフィールド内に表示する内容を管理しているもので、書き換えることでテキストフィールドの表示を更新できます。 例えば、テキストフィールドのインスタンス名を disp としますと、 (↓各行頭に全角のスペースが入っています。コピーする際は、全て半角のスペースかタブに置き換えてください)  p = d[ b ];  disp.text = "基準値は" + p; とすると、テキストフィールドにメッセージと変数 p の内容を表示できます。 再び、テキストフィールドを選択した状態で「プロパティ」パネルを見てください。 タイプを”ダイナミックテキスト”か”テキスト入力”にした時は、左下の方に「変数:」という項目が表示されます。 ここに変数名を入力しておくと、テキストフィールドに指定された変数の内容が表示されるようになります。 ただし、配列変数の内容を表示したり、trace アクションのようにメッセージを連結して値を表示することはできません。 これらの場合は、先述の text プロパティを書き換える方法を利用するか、  str = "基準値は" + p; このように別の変数に文字列を作っておいて、「変数:」の項目に str を指定してみてください。

remonedo
質問者

お礼

丁寧な説明をしてくださりありがとうございます。 今日さっそくやってみました。行き詰ってしまっていたのでとても助かりました。

関連するQ&A

  • flashのActionscriptとムービーとの連携についてII

    Actionscriptで、配列dのleftからrightまでの間のデータをクイックソートする再帰のプログラムの中で、 function quick(d,left, right){ if(left>=right){ return; } var p = d[d]; disp.text = "基準値は"+p; ・・・・・・ ・・・・ } でC言語のように処理が行なわれる度にムービー上に基準値を順番に出力させたいのですが、最後の処理の時の基準値が出力されるだけで、初めの時の基準値、1回目から最後までの途中経過の基準値を出力させる事ができません。 どうしたらいいのでしょうか? よろしくお願いします。

  • googlemapとflashの連携

    googlemapとflashの連携をしたいのですがナカナカ自分のやりたい事にあったライブラリがありません。 actionscript2.0を使ってyoutubeAPIのflashplayerを使って動画をムービークリップに入れてgooglemapの上に置きたいです。さらにgooglemapAPIを使って地図上に線が引けるようにしたいです。 http://code.google.com/p/google-maps-flash-interface/ が一番近いのですがこれではgooglemapAPIが使う事ができません。 どなたか自分のやりたい事に合うようなライブラリを知りませんか?

  • ActionScriptについて

    今、ActionScriptのトレーニングブックで練習している初心者です。 練習問題で、配列の34, 40, 12, 30, 24, 55, 70, 60, 52, 43, 65, 30, 45, 20, 15を全て足したいのですが、 出力すると、 「すべての予約済み座席数は014131211109876543210人です」 と出てきてしまいます。(595と出てくるはずだと思うんです) 本の通りに記述してみたはずなのですが、どこか変なのでしょうか? var reserved_array = [34, 40, 12, 30, 24, 55, 70, 60, 52, 43, 65, 30, 45, 20, 15]; var total_num = 0; for (var i in reserved_array) { total_num += i; } trace("すべての予約済み座席数は"+total_num+"人です");

    • ベストアンサー
    • Flash
  • グローバル変数の呼び出し

    ムービークリップのActionScriptに on (press) { trace("name="+name); } と書き、メインフレームのActionScriptには _global.name; name="太郎"; と書きました。 ムービークリップをクリックするたびに名前が出力されるようにしたいのですが、うまくできません。

    • ベストアンサー
    • Flash
  • ActionScript3の正規表現で文字列変数comの最初にアットマ

    ActionScript3の正規表現で文字列変数comの最初にアットマーク(@)が 含まれているか調べたいのですが 以下のコードの /[^@]/ という部分が間違っているらしく 全てtrueになってしまいます。 var myPattern:RegExp = /[^@]/; var msg:Boolean = myPattern.test(com); trace(msg); // 出力: true /[^'@']/ や /[^\@]/ など試しましたがダメでした。 どうすればよいでしょうか。 正規表現は初めてなので難しいので、ご教授お願いします。

    • ベストアンサー
    • Flash
  • ActionScript2.0での座標

    ActionScript2.0で、_xmouse、_ymouse でマウス座標を得られますが、_xmouse、y_mouseで得られる座標の単位はいくつになるのでしょうか? _xmouse、_ymouseを画面に出力してみると、起動するフォーム(ムービーのデバック実行時のウィンドウ)の場所によっては、マイナスの値になったりするのですが、起動するフォームの場所によって値が相対的に変わるものなのでしょうか? Windowsのスクリーン座標(0-65535)とは何が違うのかご存知の方がいましたらご教授願います。

    • ベストアンサー
    • Flash
  • ムービークリップ再生順序 制御について

    はじめて質問します。Flash初心者ゆえつたない説明ですいませんが、よろしくお願いします! Flash:ActionScript2.0 [現状] メインフレームにABCというムービークリップを配置しています。 それぞれ「mc1」「mc2」「mc3」というインスタンス名がついています。 各ムービークリップにはそれぞれ動きが設定しており、”moving”というフレームラベルをつけています。 [どう動作してほしいか] まずAのムービークリップが再生。Aのムービークリップ再生終了。 ↓ Bのムービークリップ再生開始。Bのムービークリップ再生終了。 ↓ Cのムービークリップ再生開始。Cのムービークリップ再生終了。 ↓ Aに戻る。 上記の動きをタイムラインを利用するのではなく、メインフレームに1つactionScriptを書くことで動作させるにはどうしたらいいでしょうか? ちなみに今は以下のように記述しており、実行すると3つのムービークリップが全て同時に動いてしまいます。 var list:Array = new Array(); for(var i=1; i < 4; i++) { var mcname = "mc" + i ; list[i] = eval(mcname); list[i].gotoAndPlay("moving"); } よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • Actionscript 同じような処理をまとめたい

    閲覧ありがとうございます。 プログラム初心者です。 FlashでサイトのTOPページに置くメニューを作成しています。 Flashのヘルプを見ながらできたのですが5つあるボタンにつきいちいち関数を作っていて、もう少しコンパクトに書きたいと思いました。 きれいに書くにはどうするのがベストでしょうか? もしかしてActionscriptは一つのボタンにつき一つの関数を書かなければいけないのですか? //自分なりに書いてみてうまくいかなかったソースです。 //実行するとボタンを押す前に一番上に書いたアドレス(http://address1.php)に飛んでしまいました。 var Add1:String = "http://address1.php"; var Add2:String = "http://address2.php"; var Add3:String = "http://address3.php"; var Add4:String = "http://address4.php"; var Add5:String = "http://address5.php"; function onClickButton(event:MouseEvent, address:String) :void { var selectURL:URLRequest = new URLRequest(address); navigateToURL(selectURL,"_self"); } button1.addEventListener(MouseEvent.CLICK, onClickButton(Add1)); button2.addEventListener(MouseEvent.CLICK, onClickButton(Add2)); button3.addEventListener(MouseEvent.CLICK, onClickButton(Add3)); button4.addEventListener(MouseEvent.CLICK, onClickButton(Add4)); button5.addEventListener(MouseEvent.CLICK, onClickButton(Add5));

    • ベストアンサー
    • Flash
  • AS3 Flash 変数の扱い方について

    質問なんですが、外部テキストをロードして完了したら イベントハンドラで数値の5を取得し、 それを別の変数に代入して保持させようと思い、 外部ASファイルのカスタムクラスのプロパティに代入したんですが上手く行きませんでした。 なのでどのようにしたら良いのか教えて頂けませんか? プログラムは以下になります。ではよろしくお願いします。 ***ASファイル*** package{ public class ImageRoadClass{ public static var number:int; // 返り値保持 private var number2:int; // 返り値保持 function ImageRoadClass(){ } public function setNumber(number:int):void{ this.number2 = number; } public function getNumber():int{ return this.number2; } } } ***flaファイル*** // インスタンス生成 var imageRoad:ImageRoadClass = new ImageRoadClass();        ・ (割愛)  ・        ・ // ロード完了後のイベントハンドラ function jsonReadHandler(e:Event):void{ var json_data:String = URLLoader(e.currentTarget).data; // 読み込んだテキストをjsonオブジェクトにデコード var json_decode_data:Object = JSON.parse(json_data);       // ***ここで値を外部クラスのプロパティに代入*** ImageRoadClass.number = json_decode_data[0].number; imageRoad.setNumber(json_decode_data[0].number); trace(ImageRoadClass.number); // 出力結果:5 trace(imageRoad.getNumber()); // 出力結果:5 } trace(ImageRoadClass.number); // 出力結果:0  保持できてない trace(imageRoad.getNumber()); // 出力結果:0  保持できてない

    • ベストアンサー
    • Flash
  • ActionScript2.0での座標について

    「ActionScript2.0で、_xmouse、_ymouse でマウス座標を得られますが、_xmouse、y_mouseで得られる座標の単位はいくつになるのでしょうか? _xmouse、_ymouseを画面に出力してみると、起動するフォームの場所によっては、マイナスの値になったりするのですが、起動するフォームの場所によって値が相対的に変わるものなのでしょうか?」 以前このような質問をした者です。ご回答もいただき、自分でも調べてみて_root._xmouse や _root._ymouse と書けば、ステージの左上のコーナーが_rootの基準点になることは理解できたのですが、ステージに依存しない座標を取得する方法はありますでしょうか。

    • ベストアンサー
    • Flash

専門家に質問してみよう