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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     タイプライターで文字を打ち込むように表示させる方法について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
Åê¹ÆNo.11204
投稿日時: 2004-9-30 21:25
タイプライターで文字を打ち込むように表示させる方法について
用意されたテクストを、
タイプライターで文字を打ち込むように表示させる方法を教えてください。
お願いします。
ひろゆき
Åê¹ÆNo.11217
投稿日時: 2004-10-1 2:51
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: タイプライターで文字を打ち込むように表示させる方法について
str = "abcdefghij";
strArray = new Array();
for (i=0; i<str.length; i++) {
	strArray.push(str.substr(i,1));
}
で、文字列を1文字ずつ配列にしてstrArrayに格納する。

num = 0;
としておいて
strDisplay += strArray[num];
num ++;
で、strArrayから1文字ずつ呼び出して、strDisplayに追加していく。
strDisplay をテキストフィールドで表示。

こんな感じでどうでしょう?
森 巧尚
Åê¹ÆNo.11218
投稿日時: 2004-10-1 10:23
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: タイプライターで文字を打ち込むように表示させる方法について
引用:

ひろゆきさんは書きました:
str = "abcdefghij";
strArray = new Array();
for (i=0; i<str.length; i++) {
	strArray.push(str.substr(i,1));
}
で、文字列を1文字ずつ配列にしてstrArrayに格納する。

ひろゆきさんの↑この部分は、
str = "abcdefghij";
strArray = str.split("");

↑でもいけますよ。


----------------
森 巧尚
http://www.ymori.com

Duke15
Åê¹ÆNo.11223
投稿日時: 2004-10-1 11:42
常連
居住地: 埼玉
投稿: 196
使用環境:
XPpro,2Kpro,
MX2004prov7.2
FlashPro8
Flash9Preview α
Player8r24
Player9.0.16
Player7r63
Firefox1.5.0.5
IE6,NB8.1en
Re: タイプライターで文字を打ち込むように表示させる方法について
Tohgohです。
配列を使わない方法。

メインステージにダイナミックTextField
インスタンス名:typewriter

1フレに
str="abcdefg";
num=0;

2フレに
typewriter.text = str.substr(0,num);
num++;

3フレに
if(str.length < num) {
    gotoAndStop(4);
}else{
    gotoAndPlay(2);
}

4フレに
stop();



引用:

pandapandaさんは書きました:
用意されたテクストを、
タイプライターで文字を打ち込むように表示させる方法を教えてください。
お願いします。


----------------
site:
http://www.yumenext.com/
blog:
http://star.ap.teacup.com/flash/

ゲスト
Åê¹ÆNo.11259
投稿日時: 2004-10-3 12:33
Re:
みなさんご丁寧な解説、本当にありがとうございます。
とても助かりました。
やってみます。
future
Åê¹ÆNo.11266
投稿日時: 2004-10-3 23:32
新米
居住地: 冥王星
投稿: 18
使用環境:
Re: タイプライターで文字を打ち込むように表示させる方法について
引用:

東郷さんは書きました:
Tohgohです。
配列を使わない方法。

やべぇ、参考になりました。
Flashって簡単なスクリプトでも何とかなりそうなのが、いいですねぇ。
Duke15
Åê¹ÆNo.11276
投稿日時: 2004-10-4 10:34
常連
居住地: 埼玉
投稿: 196
使用環境:
XPpro,2Kpro,
MX2004prov7.2
FlashPro8
Flash9Preview α
Player8r24
Player9.0.16
Player7r63
Firefox1.5.0.5
IE6,NB8.1en
Re: タイプライターで文字を打ち込むように表示させる方法について
簡単以外に
例えばタイプライターの表示するスピードを速くしたり
遅くしたりするにはどうしますか?
setInterval()を使いますか?

タイムラインで書いたスクリプトでは
2フレーム目に書いたスクリプト以降を後ろにずらすことで
タイプ表示スピードが遅くなります。
そういうように使える便利さもあります。

引用:

futureさんは書きました:
Flashって簡単なスクリプトでも何とかなりそうなのが、いいですねぇ。


----------------
site:
http://www.yumenext.com/
blog:
http://star.ap.teacup.com/flash/

ひろゆき
Åê¹ÆNo.11280
投稿日時: 2004-10-4 13:50
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: タイプライターで文字を打ち込むように表示させる方法について
配列を使う必要なかったですね。

引用:
例えばタイプライターの表示するスピードを速くしたり
遅くしたりするにはどうしますか?

以前は、タイムラインを利用した方法をよく使っていたのですが、
最近は、タイミングを計るときに、フレームを増やしたり減らしたりするのが面倒 で、
空のMCを配置して、ムービークリップアクションに
onClipEvent (load) {
	str = "abcdefghij";
	speed = 4;     //スピード設定
	time = 0;
	num = 0;
}
onClipEvent (enterFrame) {
	time ++;
	if (time <= speed) {
		if (num < str.length) {
			_root.strDisplay = str.substr(0,num+1);
			num ++;
		} else {
			_root.gotoAndStop("end");
		}
		time = 0;
	}
}
なんて記述もありかな?と。(応用サンプル)
norik
Åê¹ÆNo.21225
投稿日時: 2005-11-2 12:02
新米
居住地:
投稿: 9
使用環境:
WinXP,Flash MX2004
Re: タイプライターで文字を打ち込むように表示させる方法について
このスクリプトに関して質問があるのですが、
アクションスクリプトパネルの方には文字を打ち込まないで、実際にダイナミックテキストボックス内にあらかじめ文字を打ち込んでおいて、それを表示させていくという方法を取りたいのですが、それはとりあえずこのようなスクリプトでできました。
文章が入った変数(text)を持ったダイナミックテキストボックスと
空のMCに以下のスクリプトを乗っけてます。
-----------------------------------------------
onClipEvent(load){
buffer = _parent.text;
i = 0;
lastIndex = buffer.length;
_parent.text = "";
}
onClipEvent(enterFrame){
if(i<lastIndex){
_parent.text += buffer.substring(i,i+1);
i++;
}
}
-----------------------------------------------
これから全ての文字が表示されたら次のフレームに移動してストップというアクションをやりたいのですがどのようにすればよいでしょうか?

アクションパネルのほうに文字を書くとたまに
タイピングのアニメーションをしている際に折り返し地点で
文字がガタつく場合があるのでそうしたいと思っているのですが...。
これが解決策になればいいのですけど。
森 巧尚
Åê¹ÆNo.21227
投稿日時: 2005-11-2 12:30
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: タイプライターで文字を打ち込むように表示させる方法について
引用:
これから全ての文字が表示されたら次のフレームに移動してストップというアクションをやりたいのですがどのようにすればよいでしょうか?

norikさんは、なぜ
if(i<lastIndex){

というスクリプトをわざわざ書かれているのですか?
これは「もし、全ての文字が表示されていなければ」という意味ですから、「それ以外」が「全ての文字が表示されたら」になります。
onClipEvent (enterFrame) {
	if (i < lastIndex) {
		_parent.text += buffer.substring(i, i + 1);
		i++;
	}else {
		_parent.nextFrame();
	}
}


----------------
森 巧尚
http://www.ymori.com

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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