• ベストアンサー

外部テキスト読み込みで改行をなくしたい。

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

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

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

Flash MX 以降をお使いであれば、テキストフィールドに名前を付け、condenseWhite というプロパティを true にすると、<BR> タグ以外の改行が無視されるようになります。 (ただし、HTML を ON にしたテキストフィールドの場合のみ、有効です) 例えば、テキストフィールドに” disp ”というインスタンス名を付けたとしますと、  disp.condenseWhite = true; このような書き方になります。 condenseWhite は Flash Player 6 以降で使用できるプロパティですが、Flash MX では、正式にはサポートされていない(ヘルプに説明がなく、キーワードにもなっていない)ようです。 しかし、Flash MX で確認してみたところ、なぜか正常に動作しました ^^; --------------------------------------------------- 以下は、condenseWhite プロパティを false にしている、あるいはこのプロパティを操作できない場合の話です。 お使いのOSは Windows でしょうか? Windows に付属のメモ帳は、改行を LF と CR という、2つのコードで記録します。 ところが、Flash では LF または CR のどちらか1つだけでも改行と見なすので、メモ帳で保存したテキストファイルを読み込むと2回改行されてしまいます。 それとは別に、HTML タグ使用時の改行ですが。 実は、テキストファイルにキーボードで改行を入れると、HTML タグを使う場合でも、これはこれで改行と見なされます。 つまり、Windows のメモ帳で  test=<B>テスト</B><BR>  <I>サンプル</I> と書いて Flash で表示させると、  テスト  サンプル このように、<BR> + LF + CR で計3回も改行されてしまいます。 このあたりはブラウザで表示する HTML とは少々違うルールになっていますので、ご注意ください。 結論をまとめますと。 まず、Windows のメモ帳は LF と CR の2つでしか改行を記述できません。メモ帳で作成したテキストファイルを読み込んだ時は、<BR> タグを省いたとしても必ず2回改行されます。 他のテキストエディタには、改行コードを指定して保存できるものもあります。 この機能のあるエディタか、既存のテキストファイルの改行コードを変換できるツールを入手し、改行コードが LF か CR のどちらか1つだけ(どちらでも構いません)で保存されているテキストファイルを作ってください。 Windows をお使いでしたら、TeraPad というエディタがオススメです。 無料ですし、インストールも使い方も簡単です。 ダウンロードサイト Vector から、入手できます。  ・Vector:TeraPad   http://www.vector.co.jp/soft/win95/writing/se104390.html テキストファイル本文に直接改行を入れる場合は、HTML タグを使う場合であっても <BR> タグは不要です。 (ただし、condenseWhite プロパティが false の時に限ります。デフォルトでは false です) 改行コードを LF か CR 1つで記録したとしても、<BR> タグを入れてテキストファイル内で改行すると、<BR> +改行コードで2回改行され、余計な空行ができてしまいます。 スクリプトで文字列を操作する方法をご存知であれば、余分な改行コードをスクリプトで削除して改行しないようにする方法も考えられます。 しかし、いちいちこんなことをするよりは、最初から改行コードに気を付けてテキストファイルを作る方が、ずっと簡単です。 冒頭の condenseWhite が使用できない、あるいはこれでは上手くいかない場合や、HTML を利用しないテキストフィールドで改行を扱う時は、テキストファイルを作る時点で工夫してみてください。

noname#20805
質問者

お礼

大変わかりやすく、私の悩みが読むうちにすっきり解消されました。 私の場合、 condenseWhiteが都合がいいかもしれません。 早速試してみます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

    • ベストアンサー
    • Flash
  • 外部テキストの読み込み

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

    • ベストアンサー
    • Flash
  • フラッシュのテキストを外部読み込みで以前のテキストが表示される

    フラッシュでテキストを外部読み込みにしているのですが、ブラウザでアップしたサイトを見ると以前のテキストが表示され新しいものが表示されないことがあります。原因はどこにあるのでしょうか?

  • スペースは残し改行のみ削除するには?condenceWhite

    テキストフィールドに外部ファイルからテキストファイルを読み込んでいます。 例えば次のようなhtmlタグを含む外部ファイルを読み込みたいとき(アンダーバーはスペースとして見てください) text= 2007.1.1_ほげほげ<br> _________ほげほげ2<br><br> 2007.1.2_ほげほげ<br> _________ほげほげ2 condenceWhite = falseであれば、<br>も含め改行が二回入り、 ================================= 2007.1.1 ほげほげ ________ ほげほげ2 2007.1.2 ほげほげ ________ ほげほげ2 ====================================== と表示されると思います。 改行が二回入るのを防ぐために、condenceWhite = trueにすると、今度は、スペースが消されて ================== 2007.1.1 ほげほげ ほげほげ2 2007.1.2 ほげほげ ほげほげ2 ================== となると思います。 スペースを消さずに余分な改行だけ消す良い方法はないのでしょうか?

    • ベストアンサー
    • Flash
  • FLASHで外部テキストの読み込みができません。

    フラッシュを勉強中の者です。 外部テキストの読み込みの所でつまずいています。 新規ファイルで、ムービークリップのシンボルを作成し、その中にダイナミックテキストを配置。 で、変数をcontentにしました。 外部テキストの名前は「test.txt」 その中には、「content = あいうえおかきくけこ」と記述。 で、ムービーリップのアクションに onClipEvent(load){ this.loadVariables("test.txt"); } と、書いました。 これをムービーのプレビューをすると「あいうえおかきくけこ」が書かれると思うのですが、なぜかそうなりません…。 一応「content = "あいうえおかきくけこ"」とダブルコートで囲んでも無理でした。 なぜなんでしょう?よろしくお願いいたします。

  • 外部テキストの一行単位での読み込み

    flashでタイピングゲームを作成しています。 問題を外部テキストファイルから一行単位で読み込み、 それを配列に保存し、ランダムで出力するという仕様です。 外部テキストファイルの読み込み方、一行単位での配列への保存がわかりません。 外部テキストファイル名 elang.txt //////////中身////////////// FOOT HAND HEAD //////////////////////////// /////////読み込みソース////////////////// i = 0; //ループ変数 elangword = new Array(); //配列 ///////////////////////////////////////// 読み込みソースはここまでしかできていません。 問題出力ソースはできています。 外部テキストファイルの中身の変更、読み込みソースの 変更をしてもかまいませんので、どなたがご教授していただけたら幸いです。 どうかよろしく御願い致します。 補足 C言語の知識はある程度あります。 /////////開発環境///////////////// windows xp sp2 Flash Mx /////////////////////////////////

  • アップロードしたら外部テキストが表示されない

    お世話になります。過去ログを探ってみましたが、解決しませんでしたので質問させて頂きます。Windows XP、FLASH MX、IE7という環境です。 ダイナミックテキストで外部テキストを読み込み、スクロール表示させるというswfファイルを作成しました。パブリッシュプレビュー及び、パブリッシュしたhtmlファイルをIEを通して確認すると全く問題なく表示させるのですが、アップロードしたら外部テキストの部分のみ表示されません。ページに関連するhtmlファイル、swfファイル、txtファイルは全て同じ階層にアップロードされいるのに何故なのか分からず困っています。質問内容分かりにくかったらすみません。どなたかお助け願えないでしょうか。

    • ベストアンサー
    • Flash
  • FLASH外部テキスト読込 タグを読まない

    FLASHの外部テキスト読み込み お世話になります。 アクションスクリプトがあまり分かりません(^^;) FLASH MXの外部読み込みで質問があります。 ボタンクリックで外部テキストとjpgを読み込みたいのです。 Scrollber(コンポーネント)のtarget TextFirldに ダイナミックテキストのインスタンス名を入れると スクロールはするのですが、txtファイル内のタグが 露出してしまいます。 target TextFirld、ダイナミックテキストからそれらを 除くとタグは効くようになるのですが、今度は長文でも スクロールバーが動かなくなります。 ◆ステージの1フレーム目 -------------------------------------- System.useCodepage = true; disp.condenseWhite = true; loadVariables("text/01.txt", "bun"); loadMovie("img/a.jpg", "jpeg"); ◆テキスト1ボタン -------------------------------------- on (press) { loadVariables("text/01.txt", bun); loadMovie("img/a.jpg", jpeg); } ◆テキスト2ボタン -------------------------------------- on (press) { loadVariables("text/02.txt", bun); loadMovie("img/b.jpg", jpeg); } ◆ムービークリップ名:jpeg ◆ダイナミックテキストインスタンス名:bun タグが効くようになるにはどうすればよいでしょうか? どうぞよろしくお願いしますm(_ _)m

  • 外部テキストにリンクを貼ると、今まで書いてきた文章が消えてしまいます。

    外部テキストで日記を製作しているのですが、 例えばです。変数名「text」として、 外部テキストを読み込んでいるのですが、 text=11月26日<br><a href="http://www.yahoo.co.jp/" target="_blank">yahooのページ</a>日記の内容<br> 11月25日<br> 前日の日記 と記述をして確認をしたのですが、リンクを貼った yahooのページという文字列にカーソルを持っていきロールオーバーをすると、11月26日の表示を残して、下の文章が消えてしまいます。 11月26日の後にある<br>を外すと、11月26日の文章も消えてしまうのです。 外部スタイルシートも使用しているので、その影響かな?と思いまして、外部のスタイルシートをフォルダの外に出してみても、<a href>を使用すると、同じような現象がおきてしまいます。 このような現象を回避するにはどうしたら良いでしようか?宜しくお願いします。 使用環境はflash mx2004 書き出しの設定はflash7 です。

    • ベストアンサー
    • Flash
  • <br>タグを改行に変えたい

    掲示板を作っています。 テキストファイルに書き込んである文字列ですが、改行は<BR>に変換して保存します。 編集で呼び出すときに、<BR>をもとの改行コードに戻す作業を試みています。 $message =~ s/<br>/\n/ig; とやるとテキストエリアがすべて空白です。 $message =~ s/<br/\n/ig; と>をなくすと改行されてテキストエリアに表示されます。 ただ、データには>が残ったまま表示されます。 この対処法を教えてください。

    • ベストアンサー
    • Perl