• ベストアンサー

外部テキストをボタンでスクロールさせたいのですが

色々本を読んでがんばったのですが、どうしてもテキストがスクロールしてくれないのです。 FLASH MX プロフェッショナル2004を使ってます。 以前のバージョンではちゃんと動作するものを作れたのですが、もうすっかり忘れてしまっていて・・・汗 もうひとつ質問なのですが、その外部テキストの改行コードをCRにしないと2回改行されてしまうことになると書いてたので、改行コード変換ツールをDLして変換したのですが、テキスト開くと■で改行したところが区切られていて、テキスト上では一行で表示されているのですが、これは直しようがないのでしょうか。 テキストでもちゃんと改行していて欲しいのですが、色々なテキストエディタや変換ツールを使ってみましたが、なかなかうまくいきません。有料のソフトはちゃんと改行して見えるのでしょうか。 以上2つについて教えてください。

noname#12591
noname#12591
  • Flash
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.3

#2です。 Windows のメモ帳は改行を LF と CR の2つのコードで記録しますので、メモ帳で編集・保存したテキストファイルを読み込む限り、Flash では2回改行されてしまいます。 これは MX 2004 でも、その前の MX や Flash 5 でも同じです。 普通に改行を入れたテキストファイルでも1回しか改行されていなかったのであれば、それは、テキストファイルを作る時点で何かカラクリがあったはずです。 例えばフリーのテキストエディタ”TeraPad”では、保存する際に、改行を LF + CR で記録するか、LF または CR のどちらか1つのコードで記録するかを選択できます。 LF か CR だけで記録するように設定して保存し、これを Flash で読み込むと、改行は1回しか入りません。 TeraPad でこのファイルを開いた場合は、きちんと改行された状態で表示されますし、ワープロのように Enter キーで改行を入れながらテキストを編集していくこともできます。 しかし、Windows のメモ帳は LF + CR の改行にしか対応していません。 改行コードを LF もしくは CR だけで記録したテキストファイルを Windows に付属のメモ帳で開いてみると、改行は無視されてしまいます。 #2でも書きました通り、Flash では LF ・ CR ともに改行と見なします。 従って、どんな方法をとっても、要するに改行コードを LF か CR のどちらか1つだけで記録しているテキストファイルを都合してくれば、テキストファイル内に改行を直に入れてあっても、改行された状態で読み込めるわけです。 Windows に付属のメモ帳では LF + CR でしか改行を解釈できないので、Flash で読み込んだ時にも改行を正確に表現できるテキストファイルを作成するには不向きといえます。 改行が LF + CR で記録されたとしても、それを LF か CR 1つに直すツールで変換したファイルを読み込めば、Flash では1回しか改行されなくなると思います。 ただし、変換したファイルをメモ帳で開くと、改行が正しく解釈されないために改行されなかったり、文字がおかしく表示されることがあります。 これはメモ帳の仕様なので、どうにもなりません。 正しく改行された状態で確認・編集したいのであれば、目的の改行コードに対応したエディタで開くしかありません。 Windows をお使いでしたら、先ほどご紹介した TeraPad がオススメです。 無料ですし、インストール・使い方も簡単です。 TeraPad は Vector からダウンロードできます。  ・TeraPad   http://www.vector.co.jp/soft/win95/writing/se104390.html

noname#12591
質問者

お礼

回答ありがとうございました。 改行コードというものを実は、今回本を見直してみて初めて知ったのですが、DPEさんの説明でよく分かりました。 さっそくTerapadをDLして使ってみたいと思います。 ありがとうございました。

その他の回答 (2)

  • DPE
  • ベストアンサー率85% (666/776)
回答No.2

イベントハンドラ(インスタンス名.on*** = function ・・・の、on*** の部分)のつづりの間違い・変数名の間違い・スクロールボタンにインスタンス名が付いていないといった、些細な誤りがありませんでしょうか? スクリプトの発想に問題がなければ、こうした細かいミスが原因と思われます。 イベント発生時にきちんとスクリプトが実行されているか、変数に目的の値が入っているかなどは、trace というアクションを使って調べることができます。 例えば、  up.onPress = function ()  {   press_flg = true;   trace( press_flg );  }; このようなアクションを書くと、ムービークリップ”up”がクリックされた時、変数 press_flg には true が入ります。 正常にこの関数が呼び出されていれば、「出力」パネルが開いて press_flg の内容が表示されます。 クリックして「出力」パネルが開かなかったら、trace アクションは実行されていません。つまり、onPress 自体が正常に機能していないことになります。 「出力」パネルは開くけれど undefined と表示された時は、変数 press_flg は存在しないことになっています。変数名の誤りや階層の間違いなどがないか、確認してみてください。 true が入っているはずなのに false と表示されるなど、意図しない値が入っているようならば、press_flg を書き換える処理に問題があると思われます。 こんな感じで、不具合の原因を探っていくといいですよ。 「アクション」パネルでは、キーワードや識別子になっている語には色が付きます。 onPress や onReleaseOutside など、Flash 内部で定義されているキーワード・識別子を記述して色が変わらなかったら、それは、つづりや大文字・小文字が間違っているということです。スクリプトを入力する時や、間違いを探す時の目安にしてください。 Flash MX 2004 からは大文字・小文字の区別が厳しくなりましたので、こちらも気をつけましょう。 なお、文字の配色は「編集」→「環境設定」の「 ActionScript 」のタブで変更できます。 ---------------------------------------------- 外部テキストを確実に改行して読み込むには、改行したい箇所に、改行のURLエンコード %0A か %0D を挿入してみてください。 例えば、  test=あいうえお%0Aアイウエオ%0D12345 というテキストファイルを読み込み、表示させてみると、  あいうえお  アイウエオ  12345 このように改行されます。 これくらいのことで有料のエディタを使うなんて、ちょっともったいないと思いますよ ^^; Windows での改行は、LF と CR という2つのコードで表されています。 ところが Flash では、どちらのコードも1つで改行と見なすため、Enter キーで改行を入れると、2回改行されて1行間が空くことになります。 このあたりの事情については、以前別の質問で説明したことがありますので、よろしければご参照ください。 #2で、説明しております。  ・ダイナミックテキストに読み込んだテキストを改行させるにはどうすればよいのでしょうか?   http://okweb.jp/kotaeru.php3?q=1368317

noname#12591
質問者

補足

回答ありがとうございます。 FLASHはなんとか作動させることができました。 外部テキストのことなんですが、テキストを読み込んだとき、また、テキストに書き加えて更新するときに、いちいち%0Dというようなものを入れるとすごくやりづらいのと、見たときに非常に分かりづらいですよね。 確か、前のバージョンで作ったときは、テキストは普通に改行しても、FLASHで見た時に1回分の改行しかしてなかったと思ったのですが・・・。 質問の仕方が悪くて申し訳ないです。

  • kai123
  • ベストアンサー率53% (88/163)
回答No.1

自分はプロフェッショナル版でないflashMX2004を 使用してますが、変わらないと思うので。 まずは、外部テキストのスクロール・・・ 外部テキストを読み込むテキストフィールド(インスタンス名text)が インスタンス名txt_mcのムービークリップに配置されているとします。 そして、そのムービークリップがステージ上(つまりroot)に配置してあるとします。 ステージ上に配置したUPボタンに以下のアクションを記述します。 on (release){ _root.txt_mc.text.scroll-=1; } ステージ上に配置したDOWNボタンに以下のアクションを記述します。 on (release){ _root.txt_mc.text.scroll+=1; } スクロールする簡単なやり方はこんな感じです。 外部テキストの改行コードについて・・・ 「CR」改行コードでない場合は、改行時に「%」を入力します。 例えば、 tt=行の改行時には改行コードが% 挿入されています。 みたいな感じです。 どうでしょうか? ところで参照ファイルが開けませんが・・・

noname#12591
質問者

お礼

回答ありがとうございました。 無事にFLASHは作動することができました。 テキストの改行については、やはり改行のたびに何か入力しないといけないのですね。 テキストをメモ帳などで開いた状態で改行されていて欲しいのですが、無理なのでしょうか・・・。

関連するQ&A

  • 外部テキストを読み込んでスクロール

     題の通り、外部テキストをFLASHの一部に読み込んで、それをスクロールさせたいんですがどうもやり方が分かりません。FLASH5を使用しているため、検索してもMXについてばかりHitするので参考に出来ません。 どなたかFLASH5でも使用できるサンプルなどを紹介しているHPをご存知でしたら御教えください。

    • ベストアンサー
    • Flash
  • MX2004Proで外部ファイル(xml)を読み込みテキストをスクロール表示

    Flash初心者です。 外部ファイル(XML)の内容をよくある一行ニュースのような形でスクロールさせたいです。 外部ファイルをXMLConnectorを使い、読み込み、表示までできました。このテキストを一行ニュースのように、スクロールさせたいのですが、どのコンポーネントを使えばいいでしょうか? 私なりに調べると、TextAreaを使い、モーショントィーンで動かすようなことがかかれてましたが、テキストが表示されなくなってしまいました。 あまり、JavaScriptの知識もないので、コンポーネントで簡単にできればと思います。 お願い致します。

    • ベストアンサー
    • Flash
  • createTextFieldで作ったテキストフィールドにスクロールバーをとりつける。

    テキストツールでダイナミックテキストのフィールドをつくり、そこにコーンポーネントを適用させたら、スクロールバーがつく、とわかったのですが、スクリプトでテキストのフィールドをつくり、そのテキストフィールドにコンポーネントを適用させて、スクロールバーを取り付ける事はできないのでしょうか? this.createTextField("my_txt", 10, 5, 60, 205, 240); my_txt.htmltext = _level0.entry; このようにして、テキストフィールドに外部テキストをよみこんでいます。 アドバイスをいただきたいです。 http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00004232.html このページを見てもよく分からなく、スクロールバーの取り付けができません。 私が使っているのは、Windows XP Flash MX Professional 2004です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 外部テキストの文字に影をつけたい

    FLASH MX Professional 2004を使っています。 外部テキストを呼び出すことは出来たのですが、文字に影をつけて表示させたいのです。 どなたかご存知でしょうか? (ちなみに、以前そのようなコンテンツを見たことがあるような・・・) よろしくおねがいします。

    • ベストアンサー
    • Flash
  • テキスト編集ソフトについて

    テキスト編集ソフトをさがしています。有料/無料は問いません。 改行コードの変換と文字コードの変換ができるもの、置換・検索の機能に優れたテキストエディターを教えてください。 アップルのコンピュータとデータのやりとりをするのにスムーズにしたいと思っています。

  • 外部テキスト読み込み、横スクロールで流れる文字

    外部テキストファイルを読み込んで、横スクロールで文字が永遠とループで流れるものをFLASHで表示したいのです。 外部テキストの文字数なども読み込んで もし文字が多くても対応できるようにしたいのです。 私はFLASH8を使用しております。 なんとか宜しくお願いします><

    • ベストアンサー
    • Flash
  • テキストスクロール

    Flash初心者です。 http://www.flashiroha.com/script/as5.html のサイトを参考にテキストスクロールを作成したのですが、 1.ボタンを押している間ずっとテキストをスクロールさせるようにするにはどうしたらいいでしょうか?(現状ワンクリック1行のスクロールでカチカチ押さなければならない。) 2.外部読み込みのテキストで、文字の色やサイズを部分的に変えたいのですがテキストファイルにhtmlを打ち込んでも全く反映されず、そのタグ自体が画面に表示されてしまいます。どうすればいいでしょうか?

  • 外部ファイルの読込みで"<"より後の文字が表示されません。

    いつもお世話になっています。 初めてダイナミックテキストに対して外部ファイルの読込みを行いましたが、問題が発生しています。 お力添えをお願いします。 以下のようにASを記述しています。 ------------ onClipEvent (load) { file_name = "file/aaa.txt"; // System.useCodepage = true; this.naiyou.loadVariables( file_name ); } ------------ 読込みを行うテキストファイル(aaa.txt)の内容は、URLエンコード済みです。 今回問題となっている"<"の文字コードは、[%3C]に変換されています。 文字コードは、[UTF-8]です。 改行コードは、[CR]です。 環境:windows xp    Flash MX 2004 Pro ご回答宜しくお願いします。

    • ベストアンサー
    • Flash
  • 外部テキスト読み込みで改行をなくしたい。

    過去のアンサーを見たのですが希望の回答が見つからなかったため質問させていただきました。 フラッシュで外部テキスト読み込みにしているのですが、そのテキストファイルの本文を改行するとフラッシュの中でも改行されてしまいます。 できれば<BR>を記入したところ以外は改行されたくありません。 かといってテキストファイル内で改行を入れておかないと1列で表現することとなり見づらくなります。 解決するにはどうすればいいでしょうか?

    • ベストアンサー
    • Flash
  • 外部テキストファイルを読み込ませたい

    ダイナミックテキストを作成しUIScrollBarを取り付けました。 テキストの内容はダイナイナミックテキストに直接書いていますが、すぐ変更になるのでその都度パブリッシュするのが面倒です。 外部のテキストファイルを読み込ませたいのですがどのように拡張すればいいか教えてください。Flash Professional 8を使用しています。 まだ、Flashをはじめたばかりです。

    • ベストアンサー
    • Flash

専門家に質問してみよう