• 締切済み

テキストファイルの読み込み

Flash超初心者です。 フィールドを上下に分けて下の部分にボタンをつけて、ボタンをクリックすると上の部分にテキストファイルの内容が表示されるようなものを作りたいと考えています。 環境はFlash liteです。 分からないことだらけなので詳しく教えていただけるとありがたいです。よろしくお願いいたします。

  • Flash
  • 回答数2
  • ありがとう数1

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

#1です。 > mytext1=あああ > &mytext2=いいい > &mytext3=ううう > : > とした場合はダイナミックテキストを > 変数の個数分用意すればいいのでしょうか? ということですが, そうできれば用意したほうが良いと思います。 FlashLite1.1だと,LoadVarsクラスメソッドが使えないので,  外部テキストのロード開始    ↓  外部テキストのロード完了    ↓  mytext=mytext1+mytext2+mytext3    ↓  mytext をテキストフィールドに表示 というような, 「ロードが完了すれば自動的に文字列演算する」という流れを作ることが容易ではありません。 そのため,ダイナミックテキストを変数の個数分用意するのが普通になると思います。 ===================== 外部テキストの変数の個数や名称が動的に変動しない場合は, テキストフィールドを1つにして,そのテキストフィールドに自動的に文字列加算した結果を表示することは可能です。 Flash 内に用意するテキストフィールドの変数名は#1と同じで 「mytext」 とします。 ボタンに書くスクリプトも#1と同じで on (release, keyPress "5") { loadVariablesNum("mydata.txt", 0); } とします。 外部テキスト 「mydata.txt」 のデータは次のように変えたとします。 mytext1=あああ &mytext2=いいい &mytext3=ううう この場合, ステージ上の見えないような場所に小さなムービークリップを作成します。 そしてその小さなムービークリップ内を2フレームにします。 そして フレーム2 に次のようなスクリプトを書きます。 ---------------------------------------------- // もし _root の変数 mytext3 が空でない場合 if (/:mytext3 ne "") { // _root の変数 mytext に文字列をたす /:mytext = /:mytext1 add /:mytext2 add /:mytext3; // このムービークリップの再生をストップ stop(); } else { // それ以外はこのムービークリップをフレーム1に戻して再生 gotoAndPlay(1); } ---------------------------------------------- つまり,変数監視用のムービークリップを作成して, 2フレームをループさせて常に変数を監視させておくのです。 そして, 最後の変数 mytext3 が ""(空) でなくなれば,つまり何かの値が入れば, 文字列を加算して mytext に代入します。 こういうしくみを自作すれば, LoadVarsクラスのメソッドは使用しなくてもよくなります。 要は何でも if文 とか for文 とか gotoAndPlay() などなど簡単な文や関数を使って自作してしまうわけです。 考えれば結構なこともできてしまいますよ。 FlashLite ではない,今の普通の Flash は,こういうものを自作しなくて良いので,簡単です。 FlashLite の ne は, NotEqual で,文字列が等しいか等しくないかを判定するのに使用します。 現在の 普通のFlash の != と同じ役割を果たしますが,ne は文字列判定限定です。 /: は, パスと変数を表す記号です。/ が _root です。その次の : が変数という意味です。 したがって /:mytext3 は _root の 変数mytext3 という意味になります。 現在の 普通のFlash では _root.mytext3 と同じ意味です。 add は, 文字列の加算演算子です。 現在の 普通のFlash では + と同じ意味ですが,add は文字列加算限定です。

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

Flash Lite にもさらにバージョンがありますが, 勝手に Flash Lite 1.1 である(loadVariablesが使用できる最低バージョン)として回答します。 まず外部テキストですが。 mytext=あああああ いいい%0aいいい ううううう えええええ おおおおおおおお というデータを用意し, 文字コードを Shift-JIS,改行コードを CR (\n (%0a) ) にして, 「mydata.txt」というファイル名で任意のフォルダに保存します。 次にFlash のステージ上の上半分に,大きめのダイナミックテキストフィールドを作成し, そのダイナミックテキストの "変数名" を 「mytext」 にします。 そして Flash のステージの下半分のどこかにボタンシンボルのインスタンスを配置し, そのボタンに on (release, keyPress "5") { loadVariablesNum("mydata.txt", 0); } と書きます。 そして,このFlash(.fla)をテキストデータ「mydata.txt」と同じフォルダに保存して, 制御→ムービープレビュー で動作確認してもらうと, 「5キー」を押したとき,または,ボタンまでカーソルを持っていって決定キーを押したときに, 外部テキスト「mydata.txt」内に用意して置いた 「mytext」 という変数の値が変数名「mytext」のダイナミックテキストに表示されるので, 変数名「mytext」のダイナミックテキストフィールド内に, あああああ いいい いいい ううううう えええええ おおおおおおおお というデータが表示されます。

EFinter
質問者

お礼

ありがとうございました。無事にできました。 ちなみに外部テキストを mytext1=あああ &mytext2=いいい &mytext3=ううう : とした場合はダイナミックテキストを変数の個数分用意すればいいのでしょうか?

関連するQ&A

  • 外部テキストの読み込み

    Flash lite1.1で、外部テキストの読み込みが実現できません。 text.txtファイルをswfと同じフォルダに作成し、中身を「text=あいうえお」にしました。 swfのほうでダイナミックテキストで変数を「text」にし、同じシーンのボタンに下のスクリプトを記述 しました。 // on (press) { loadVariables("text.txt",0); } // よろしくお願いします。

    • ベストアンサー
    • Flash
  • FLASH CS4での外部SWFファイルの読み込みについて質問です。困

    FLASH CS4での外部SWFファイルの読み込みについて質問です。困っています。 AS3.0の初心者です。FLASH8(AS2.0)は使っていたのですが、AS3.0についてはほとんど知りません。FLASH8と同じ要領でボタンと透明ムービークリップを作成し、ボタンをクリックするとMCに外部SWFファイルが読み込まれる・・・という設定をしました。 ネットなどで色々調べた結果、SWFファイルの読み込みASは記入できたのですが、問題が一つ。 ボタンのレイヤーがMCのレイヤー下にあると、透明であるMCが邪魔になるのかボタンがクリックできません。ボタンのレイヤーを上に持ってくると、SWFは読み込まれるのですが元のSWFのボタンがそのまま表示されてしまいます。 FLASH8では透明MCが上にあってもボタンをクリックできた記憶があります。透明MCは元のSWF,外部SWFと同じサイズ(全て800x600px)にしてあります。 AS3.0ではどのようにすればいいのかわかりません。 どなたか初心者の私に教えていただけませんか。よろしくお願いします。

  • FLASH Lite1.1 外部テキストを表示する

    お世話になっております。 携帯サイト初心者です。アドバイスお願いします。m(__)m したいことは単純で、外部テキストa.txtをダイナミックテキストフィールドに表示させたいのです。 ★メインのTLにダイナミックテキストフィールドを作り、変数「text」としました。単一行でフォントサイズは10です。 ★テキストファイルは、「text=あいうえお・・・」で、シフトJISでswfと同じ階層に「a.txt」で保存しています。 ★メインのTLの1フレーム目に以下を入力しました。 loadVariablesNum("a.txt", 0); ●エミュレーターでは表示されていますが、携帯では表示されません。 (ソフトバンクの921SHとLite1.1対応ドコモ) FLASH CS3でFLASH Lite1.1にしています。 なにが悪いのか・・・ よろしくお願いします。

    • ベストアンサー
    • Flash
  • テキストファイルの読み込み

    MFCです. ボタンを押すと,参照しているテキストファイルの内容を読み込むようにしたいのですが,テキストファイルの読み込みってどうすればよいのでしょうか??

  • テキストフィールドの別のテキストフィールドから一定の距離に生成

    Flash8を使用して、AS2で書いています。 createTextFieldでテキストフィールドを自動生成しています。 その内容は、外部XMLファイルから読み込まれたものが入ります。 読み込まれる内容により、その長さが異なるので、 autosizeをtrueにしています。 そのテキストフィールドの下に、 別のテキストフィールドを自動生成しているのですが、 できれば、常に上のテキストフィールドの下端から一定の距離に 生成されるようにしたいのですが、 (htmlならmargin-top:1em;のように。) 何か適当な方法はないでしょうか。

    • ベストアンサー
    • Flash
  • テキストスクロールの外部テキストファイルが表示されない

    こちらの過去ログから下記サイトを参考に、外部テキストファイルを読み込んで表示するテキストスクロールを作成しました。 http://www.flashiroha.com/script/as5.html flashで保存したswfファイルでは正常に表示されるのですが、作成したHTMLファイルにswfファイルを挿入すると外部テキスト部分が表示されず、サイドのスクロールボタンのみしか見えていません。 swfファイルと同階層にtextファイルは置いています。 そして、そのswfファイルをダブルクリックすると外部テキストファイルは表示されているにもかかわらず、htmlファイルでは表示されないのです。 足りないところは、補足説明も致しますのでよろしくお願い致します。 --------------------------------------------- ■htmlファイル <div id="textbox"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="545" height="150" title="テキストスクロール"> <param name="movie" value="common/flash/text.swf" /> <param name="quality" value="high" /> <embed src="common/flash/text.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="545" height="150"></embed> </object> </div> ■css #textbox { width: 545px; height: 150px; margin: 10px 0; } ■flash //テキストフィールドに this.loadVariables("text.txt"); //上向きボタンに on(rollOver){ _root.onEnterFrame = function() { _root.textbox.scroll -= 1; } } on(rollOut, releaseOutside) { _root.onEnterFrame = function() { _root.textbox.scroll -= 0; } } //下向きボタンに on(rollOver){ _root.onEnterFrame = function() { _root.textbox.scroll += 1; } } on(rollOut, releaseOutside) { _root.onEnterFrame = function() { _root.textbox.scroll += 0; } }

    • ベストアンサー
    • Flash
  • FlashMXとDreamWeaverMXについて

    いまFlashMXとDreamWeaverMXでホームページを作っているのですが、どうやってもわからないことが2つあり質問させていただきます。 (1)FlashMXでテキストフィールドをムービークリップとして作り、変数をnewsとして外部テキスト(メモ帳)から読みこませました。そこまではうまくいったのですが、テキストフィールドをはみ出た部分をスクロールさせて表示させたく、上下のボタンをそれぞれ作って、それを押すことでスクロールさせようとしたいんですが、どうしても動きません。いったいどのようなActionScriptを使えばいいのでしょうか。 (2)次に、Flashのプレビューで読み込むことができた外部テキストが、そのflashファイルをDreamWeaverに読み込んでプレビューさせると外部テキストが読み込まれなくなってしまいます。見当違いなことなのかもしれませんが、DreamWeaverに読み込んだFlashムービーに外部テキストを読み込ませることができるのかどうか、もしできるならその方法を教えていただきたいです。 うまく説明できなかったのですがよろしくおねがいします。

  • 外部読み込み画像のスライドメニューの動き

    Flash初心者です。 環境:WindowsXP,Flash8,as2.0 独学でFlashを学んでいて、練習として下記URLのFlashを制作しています。 http://homepage2.nifty.com/meary/ まず、外部読み込みの画像(サムネイルのようなもの)をボタンとしています。 そして、そのボタンをまとめてMCにして、 上下のスクロールボタンをクリックするとそれぞれ上下にスライドする、というところまで制作出来ました。 ですが、私の希望の動きはドコモのサイト http://www.nttdocomo.co.jp/ のFlash部分、下の方のFlash用コンテンツメニューの様な動きなのです。 スクロールボタンをクリックしなければ「ボタン部分のMC」は一定時間ごとにスライドし、出来れば「ボタン」にロールオーバーしている間は「ボタン部分のMC」を停止させる。マウスが離れたらまた動き出す。 初心者ながら、ネットや本でASを調べてみましたが、 うまくこのように動いてくれず行きずまってしまいました。 上述の様な動きをさせるにはどのようなASを記述すればいいのか、やりやすいのか、ご教授いただけませんでしょうか。

  • 同一テキストファイル内にある別の文章を外部から読み込ませたいです

    はじめまして。 参考本を読みながらフラッシュに取り組んでいる初心者です。 質問は,一つのテキストファイル(news.txt)に「&news1=○○○、&news2=△△△」と言ったように複数の文章を記入し それをフラッシュの複数のテキストフィールドに読み込ませたいのですが、上手く行きません。 どうすればよいですか? 参考本には「同一テキストファイル内に存在する別の文章を他のテキストフィールドへ転送することも出来ます」と、書いてあります。 では、宜しくお願いします。

  • 外部テキストの読み込み

    はじめましてよろしくお願いしますm(_ _)m 最近FLASHのアクションスクリプトを触るようになったのですが、どうしてもわからないことがあるので質問させて下さい。 やりたいのは…、 text01=あいうえお &text02=かきくけこ &text03=さしすせそ という外部テキストファイルがあってそれを1つのswfファイルが読み込まれるごとに違う値を表示したいです。イメージとしては下のような感じです。 <sample.swf>←ここではtext01の内容を表示 ・ ・ <sample.swf>←ここではtext02の内容を表示 ・ ・ <sample.swf>←ここではtext03の内容を表示 ・ ・ swfファイルを個別に用意し、外部テキストの変数をそれぞれ指定してやればできるのですが、それではswfファイルが複数になってしまうのと読み込みにも時間がかかるので(見出しに使いたいのでフォント埋め込みです)なんとか1つのswfファイルでできないか考えています。 FLASHではこういったことは可能でしょうか? 何かヒントだけでもいただけると嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • Flash

専門家に質問してみよう