アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (1件)

なんだか,どこかしら質問が変なのですが。



まず,ご質問の内容にJPEGは全く関係しませんよね。
あと,ボタンのスクリプトが変ですよね。
あと,なぜ書かれているスクリプトでダイナミックテキスに値が表示されるのかが摩訶不思議です。
txtファイル内のタグが露出するとかしないとか以前に,表示されないと思うのですけど…

まず外部テキストのデータを以下のようなものだとします。

---------------------------
aaa=<p>あああ<br>
いいい<br>
ううう<br>
えええ<br>
おおお</p>
<p>かかか<br>
ききき<br>
くくく<br>
けけけ<br>
こここ</p>
---------------------------

このファイルは,「01.txt」という名前で「text」フォルダ内にあります。
loadVariablesの場合,このように,
まず 「変数名=」 を頭に付けて,
その変数名をターゲットにしてダイナミックテキストに表示させないと表示されないと思うのですが,
その部分がスクリプトに見あたりません。

この,テキストをロードして,変数aaa の値を,
bun というインスタンス名のダイナミックテキストにHTMLのタグを有効にして,
なおかつスクロールバーも有効にするスクリプトは以下のようになります。

---------------------------
System.useCodepage = true;
bun.condenseWhite = true;

//HTMLとしてレンダリングを有効にする
bun.html = true;

//外部テキストを読み込む
this.loadVariables("text/01.txt");

//ロードが完了したらインスタンス名 bun のダイナミックテキストに
//変数aaa の値を HTML として代入する
this.onData = function() {
bun.htmlText = this.aaa;
};
---------------------------

bun.html = true;
は,ダイナミックテキストのプロパティで
「テキストをHTMLとしてレンダリング」のボタンを押した状態でパブリッシュすれば不要です。

最後の行。

bun.htmlText = this.aaa;

がミソですね。
こう書かないと HTML として aaa の値が bun のテキストフィールドに入りません。

this.onData = function()

はそれとは関係なく,
完全にロードされた状態で ダイナミックテキストに aaa を代入しないと,
スクロールバーがうまく縮まないのでこういう細工が必要になります。

ちなみに 変数名 aaa は適当に付けたものですから,適当に変えてください。
また,ダイナミックテキストのテキストフィールドには変数名は不要です。
できればない方か良いです。
少なくとも変数名が bun では困ります。動きません。
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。

言葉で上手く説明できなかったのでFLASHのURLを
補足で貼り付けたら「規約違反」とのことでURLが外されてました。
言葉足らずですいません。

足りなかったのは

bun.htmlText = this.aaa;

この部分でした。質問した翌日に気付きましたが、
締め切る事ができなかったので、質問しっぱなし状態に
なっていました。

どうもありがどうございました。

お礼日時:2005/12/25 02:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!