トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     TextAreaに外部テキストを表示
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
Fumio
Åê¹ÆNo.10571
投稿日時: 2004-9-4 23:20
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
Re: TextAreaに外部テキストを表示
スクリプトは、ご自分で考えて書かれたものですか? この記述は、TextAreaインスタンスmyTextAreaをMovieClipに内包して、そのMovieClipインスタンスのMovieClipアクションに設定すべき内容です。

結論として、TextAreaインスタンスにMovieClipアクションを直接記述するのでなく、ムービー構造を上記のように修正した方がよいと思います。そうすれば、MovieClipアクションは、このままで動作するはずです。
引用:
yamadasenさんは書きました:
TextAreaに外部テキストを表示させたいのですが、
ムービークリップにTextAreaを配置して、
TextAreaに
onClipEvent (load) {
this.loadVariables("rire.txt");
this.onData = function(){
myTextArea.text = a01;
trace(myTextArea.text);
}
}

とASを書きました。
rire.txtは a01=・・・・・・・・・・
と書いています。
それをプレビューすると、出力にundefinedと表示されて、TextAreaに表示されません。

コンポーネントは、つまるところMovieClipの1種です。その中には、さまざまなプロパティやメソッド(関数)が設定してあります。それぞれのコンポーネントに用意された(つまり「コンポーネント辞書」に掲載された)プロパティやメソッドを使わずに、直接別のスクリプトで変数(a01など)やメソッド(MovieClip.onDataなど)を設定すると、動作に問題が生じる可能性もあります。

たとえば、TextAreaコンポーネントにはMovieClip.onDataメソッドは定義されていないものの、MovieClip.onEnterFrameには独自のコールバック関数が設定されています。こうしたメソッドを外部から再定義すれば、予め設定されていた関数を上書きしてしまうことになります。

あと、好みの問題かもしれませんが、MovieClipアクションでイベントハンドラメソッドMovieClip.onDataを定義するというのは、ちぐはぐな感じを受けます(動作にはまったく問題はありません)。onClipEvent (data)ハンドラで、同じ処理を記述することが可能です。
// MovieClip: TextAreaインスタンスmyTextAreaを内包
// MovieClipアクション
onClipEvent (load) {
    this.loadVariables("rire.txt");
}
onClipEvent (data) {
    myTextArea.text = a01;
    trace(myTextArea.text);
}


----------------
 

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   TextAreaに外部テキストを表示 yamadasen 2004-9-4 22:07
     Re: TextAreaに外部テキストを表示 ymori 2004-9-4 22:31
       Re: TextAreaに外部テキストを表示 yamadasen 2004-9-4 23:09
         Re: TextAreaに外部テキストを表示 Fumio 2004-9-4 23:22
   » Re: TextAreaに外部テキストを表示 Fumio 2004-9-4 23:20
       Re: TextAreaに外部テキストを表示 youich 2004-9-5 0:15
         Re: TextAreaに外部テキストを表示 ymori 2004-9-5 1:56
           Re: TextAreaに外部テキストを表示 youich 2004-9-5 18:32

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops