メイン コーダーズルーム【スクリプト系】 スクリプトでテキストを1文字ずつなめらかに表示させたいのですが | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト | Åê¹ÆNo.35937 投稿日時: 2007-11-2 23:28 |
スクリプトでテキストを1文字ずつなめらかに表示させたいのですが スクリプトで約0.05秒毎にテキストを1文字ずつなめらかに表示させたいのですが、EnterFrame だとフレームレートで限界が決まってしまいます。
for 文に時間差を組み込むのは無理なのでしょうか? ハングを起こしてばかりでうまくゆきません。 for 文の実行途中で強制終了させる関数はないのでしょうか? 何かいいやり方があるのでしょうか? もしよければアドバイスいただければと願います。 text ="10ポイントのダメージをあたえた。"; text_Array = new Array(); text_Array = text.split(""); i = 0; onEnterFrame = function () { nowTime = getTimer(); waitTime = nowTime - deliteTime; if (waitTime > 50) { i++; preview_zone += text_Array[i]; deliteTime = nowTime; } }; |
|
ひろゆき | Åê¹ÆNo.35940 投稿日時: 2007-11-3 0:46 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: スクリプトでテキストを1文字ずつなめらかに表示させたいのですが 引用:
sachinhoさんは書きました: 無理です。 for 文は、そういった性質のものではありません。 引用: ハングを起こしてばかりでうまくゆきません。 解決の方向性として間違っていると思います。 getTimer や onEnterFrame を用いる方法ではなく、 setInterval を用いてみては? 「onEnterFrame setInterval」でフォーラム内を検索してみましょう。 #「すべて表示」で、たくさん表示されます。 あるいは、「タイプライター」でフォーラム内を検索してみてもよいのではないでしょうか。
|
ゲスト | Åê¹ÆNo.35941 投稿日時: 2007-11-3 1:00 |
回答ありがとうございました。 ひろゆきさん、回答ありがとうございました。さっそく勉強します。
|
|
ひろゆき | Åê¹ÆNo.35942 投稿日時: 2007-11-3 1:42 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: スクリプトでテキストを1文字ずつなめらかに表示させたいのですが 元のスクリプトは、全角の「;」や全角スペースが混じっています。
なので、それが問題の原因の可能性もあります。 スクリプトを記載する際には、注意された方が良いでしょう。 _root にテキストフィールド(インスタンス名: str_txt) を配置。 _root 第1フレームに
#このフォーラム内のスクリプトをコピー&ペーストされるのであれば、 #各行の先頭にあるスペースを削除して、ご自分でタブキー入力してください。 スレッドの表題を変えてしまうと、検索の際、探しにくくなるので、 変えない方がよいと思います。
|
ゲスト | Åê¹ÆNo.35944 投稿日時: 2007-11-3 13:39 |
ひろゆきさん、ありがとうございます。 テキストがなめらかに表示されました。EnterFrame よりきれいです。感動しました。
setInterval の使い方の例を見せていただき本当にありがとうございます。勉強になります。 |
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |