- ベストアンサー
Flashでランダム表示するテキストメッセージを作成する方法
- 現在ウェブページで、javascriptを使って、テキストメッセージをランダム表示しています。
- FlashのActionScriptを使い、同等のことを行いたいのですが、どうすればよいでしょうか。
- 表示するテキストは外部から読み込ませたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
cnkozoさん、 ・外部テキストを、data.txtとし、SJISで記載前提 &mess0=1番目のメッセージ& &mess1=2番目のメッセージ& &mess2=3番目のメッセージ& &mess3=4番目のメッセージ& &mess4=5番目のメッセージ& &kazu=5& ・FLAのscriptレイヤーに、以下を記載 //ここから var max:Number;//メッセージの数 _txt.text = "";//インスタンス名 _txtは、ロード時は、ブランク var mess_array:Array = new Array();//配列定義 System.useCodepage = true;//data.txtのコードが、UTF-8で記載されてない場合は、これが必要 var lv:LoadVars = new LoadVars(); lv.onLoad = function():Void { max=Number(this.kazu);//文字列の数値化 for (var i:Number = 0; i<max; i++) { mess_array[i] = this["mess"+i]; } var r:Number = Math.floor(Math.random()*mess_array.length);//0から4までの乱数発生 trace(r); _txt.text = mess_array[r];//r番目の配列要素を取り出して、ダイナミックテキスト _txtに代入 }; lv.load("data.txt"); //lv.load("data.txt?"+getTimer());//サーバーアップ時は、ブラウザーのキャッシュ対策として、こちらを使用する。ローカルでは、エラー発生 //ここまで となります。
補足
ダイナミックテキストのインスタンス名を「_txt」にして、 後は空白のレイヤーにそのまま教えて頂いたASをそのままコピペするだけで出来ました。 ありがとうございました。 しかし問題がありまして、呼び出すテキストの文字数を全て同じにしないと文字が隠れる場合があります。 (ダイナミックテキストの幅のままです) これはもう一つの質問とかぶりますので、もし良かったら再度アドバイスをお願いします。 http://okwave.jp/qa5449492.html