- ベストアンサー
文字がランダムに入れ替わるスクリプト
http://yugop.com/の下部メニュー部分のように、文字が1文字ずつランダム(?)に変化しながら、最終的に目的の文字になるというスクリプトはどう書けばいいのでしょうか? わかる方いましたら、宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
若干違いますが参考までに。 全角スペースが入ってますのでコピペの際はご注意ください。 //--------------------------------------------------------------- ステージにインスタンス名[viewtext]のダイナミックテキストを配置します。 //最終的に表示したい文字 view = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; //この値を変えると表示時間が変わります。 var cnt = view.length * 2; var word_array = new Array(); //表示したい文字を一文字ずつ配列に入れます。 for (var i = 0; i<view.length; i++) { word_array[i] = view.charAt(i); } function View() { //ランダムな文字表示用の一時的な配列 var tmp_array = new Array(); //配列をコピーします。 // tmp_array = word_arrayとしただけでは // tmp_arrayを変えるとword_arrayも変わるのでfor文で処理します。 for (var i = 0; i<word_array.length; i++) { tmp_array[i] = word_array[i]; } //目的の文字列の一部分を適当な文字に入れ替えます。 //cntの値がだんだん減っていくので後ろから順に //目的の文字になっていきます。 for (var i = 0; i<=cnt; i++) { tmp_array[i] = SelChar(); } if (cnt>0) { //cntの値を減らします。 cnt--; _root.viewtext.text = tmp_array.join(""); //テキストに表示 } else { //目的の文字列を表示させます。 _root.viewtext.text = word_array.join(""); //View関数の呼び出しをキャンセルします。 clearInterval(id); } } id = setInterval(View, 10); //10ミリ秒間隔でView関数を呼び出します。 //ランダムな文字を作り出す関数です。 //文字コードから文字列に変換しています。 function SelChar():String { str = String.fromCharCode(Math.floor(Math.random()*65+65)); return str; } //---------------------------------------------------------------