トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     スクリプトでテキストを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さんは書きました:
スクリプトで約0.05秒毎にテキストを1文字ずつなめらかに表示させたいのですが、EnterFrame だとフレームレートで限界が決まってしまいます。
for 文に時間差を組み込むのは無理なのでしょうか?

無理です。
for 文は、そういった性質のものではありません。

引用:
ハングを起こしてばかりでうまくゆきません。
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フレームに
var str:String = "10ポイントのダメージをあたえた。";
var strArray:Array = str.split("");
var i:Number = 0;
var strID:Number = setInterval(this, "showText", 50);
function showText():Void {
	str_txt.text += strArray[i];
	i++;
	if (i >= strArray.length) {
		clearInterval(strID);
	}
}
と記述。
#このフォーラム内のスクリプトをコピー&ペーストされるのであれば、
#各行の先頭にあるスペースを削除して、ご自分でタブキー入力してください。


スレッドの表題を変えてしまうと、検索の際、探しにくくなるので、
変えない方がよいと思います。


----------------
質問する際は、回答者に具体的な情報を与えてください。

ゲスト
Åê¹ÆNo.35944
投稿日時: 2007-11-3 13:39
ひろゆきさん、ありがとうございます。
テキストがなめらかに表示されました。EnterFrame よりきれいです。感動しました。
setInterval の使い方の例を見せていただき本当にありがとうございます。勉強になります。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops