メイン 迷える子羊の部屋【初心者専用】 タイプライター風にテキストを表示させる方法について | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
miyaryu | Åê¹ÆNo.34237 投稿日時: 2007-7-20 0:30 |
常連 居住地: 投稿: 79
使用環境:
windowsXP,flash CS4 |
タイプライター風にテキストを表示させる方法について miyaryuです。いつもお世話になっております。
質問の多さをお許しください。 ほかの方の以前の投稿で、確か野中様の助言だったと思うのですが、タイプライター表示のスクリプトが提示されていたものについてです。 str = "ABCDEFGHIJKLMN"; strArray = new Array(); num = 0; for (i=0; i<str.length; i++) { strArray.push(str.substr(i, 1)); strDisplay += strArray[num]; num++; menu_mc.Menu_TXT.text = strDisplay; } この方法でタイプライター風に表示するのですが、 strDisplay += strArray[num]; の部分で困っています。strArray配列に1文字ずつ追加していくのですが、このときstrDisplayをトレースしてみると、最終的にundefinedABCDEFGHIJKLMN と出てしまいます。undefinedが出てしまう理由がどうしても分からないのですが、何が原因なのでしょうか? |
ニノミヤ カズノリ | Åê¹ÆNo.34238 投稿日時: 2007-7-20 0:40 |
職人 居住地: 東京 投稿: 430
使用環境:
CS4 .4.11, .5.7 XP Pro(sp3) Flash Player 10,0,22,87, AIR 1.5.1, IE 5.5 & 6 & 7 & 8, Firefox 2.0.0.20 & 3.0.11 & 3.5, Opera 9.64, Safari 4, Google Chrome 2.0.172.31, Netscape 7.1 |
Re: タイプライター風にテキストを表示させる方法について 引用:
strDisplayを初期化していない事が原因だと思われます。
|
野中文雄 | Åê¹ÆNo.34239 投稿日時: 2007-7-20 1:27 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: タイプライター風にテキストを表示させる方法について おそらく、Flash MX/Flash Player 6の頃のスレッドですね。Flash Player 7から仕様が変わったためです。
引用: miyaryuさんは書きました: |
ひろゆき | Åê¹ÆNo.34240 投稿日時: 2007-7-20 1:48 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: タイプライター風にテキストを表示させる方法について 引用:
野中文雄さんは書きました: おそらく、Flash5で作ってた頃です。 いまなら、これですね。 「ぴぴぴっと表示される文字」 引用: 質問の多さをお許しください。 どこかのスレッドを参考にされたのであれば、リンク先のURLなどを示すなどして、 回答者の負担を減らしてもよろしいのでは?
|
miyaryu | Åê¹ÆNo.34341 投稿日時: 2007-7-24 23:18 |
常連 居住地: 投稿: 79
使用環境:
windowsXP,flash CS4 |
Re: タイプライター風にテキストを表示させる方法について miyaryuです。
この質問について、まだ終了させていなかったことをお詫びいたします。 「ぴぴぴっと表示される文字」にて確認いたしました。確かにこれを模範にコーディングしたところ、動作を正常に確認することができました。ひとつだけ補足質問があるのですが、 function typingText():Void { se_snd.start(); letter.str_txt.text = entry_str.substr(0, textPos)+"_"; letter.str_txt.filters = [glowFilter]; textPos++; if (textPos > textMax) { letter.str_txt.text = entry_str; clearInterval(typingID); delete typingID; } } このコードではentry_strの指定文字数を1ずつ増やして取得していっていますよね。その際に、textPos++;で増加していってifにて最大文字数と比較したときに満たしているか判断していますよね。質問の内容はそこで、条件を満たしていないときにプログラム終了とならずに、textPos++;にて増加させletter.str_txt.text = entry_str.substr(0, textPos)+"_";に戻ることができることが不思議なんです。 私は、普段VISUAL BASICを扱っているのですが、普通IF文を使って条件を満たしていない場合、変数等を増加させてからGOTOで戻す方法がとられます。ここでこんなものを出すべきではないのでしょうが・・・ 例) start: IF i<5 then 処理 else i=i+1 goto start end if ASの場合、条件を満たしていない場合、満たすまで繰り返すのでしょうか?根本的な部分ですが、よろしくお願いします。 |
ひろゆき | Åê¹ÆNo.34342 投稿日時: 2007-7-24 23:30 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: タイプライター風にテキストを表示させる方法について 引用:
miyaryuさんは書きました:
setInterval をヘルプで確認してください。 あるいは、以下のスクリプトでテスト。 新規flaファイルにて。(ムービープレビューにて確認) _root 第1フレームに
「setIntervalを使う (1)」も参考まで。
|
miyaryu | Åê¹ÆNo.34354 投稿日時: 2007-7-25 12:17 |
常連 居住地: 投稿: 79
使用環境:
windowsXP,flash CS4 |
Re: タイプライター風にテキストを表示させる方法について setInterval() を使用すると、任意の関数を一定の間隔で繰り返し実行できるのですね
まったくの見当違いでした。 どうも有り難うございます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |