メイン 迷える子羊の部屋【初心者専用】 タイムライン上の関数の参照ができない | 投稿するにはまず登録を |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
xStaff | Åê¹ÆNo.12951 投稿日時: 2004-12-1 21:44 |
新米 居住地: 投稿: 20
使用環境:
WinXp,Flash MX2004(7.2) |
Re: タイムライン上の関数の参照ができない 野中さん、ありがとうございます。
私が投稿したソースは簡素化して記述したつもりだったのですが、 簡素化にミスがありました。 また、野中さんのご指摘により、気付いたことがあります。 実際は、 関数aの中のsendAndLoadのonLoadに割り当てた関数から、 同じレイヤのフレーム1の関数bを呼び出すものとなっております。 そういった環境で、関数bを呼び出す箇所で trace([this]); を処理したとき、thisの内容としてサーバから返ってきた文字列(LoadVarsだと思います)が出力されました。 ということは、処理しているカーソルといいますか、階層といいますか、 ポジションとしては、onLoadの中のようです。 あてずっぽで、_parent._parentとを付けてやってみましたがダメでした。 onLoadの中から関数bへのパスが思いつきません。 ソースとしては ムービークリップ上のレイヤ1上のボタンから _parent.a(); //問題なく処理される。 レイヤ1のタイムライン1フレームに function a(){ //送信用フォームオブジェクト var formData : Object; formData = new LoadVars(); //受信用オブジェクト var receivedData; receivedData = new LoadVars(); //レスポンス取得後処理 receivedData.onLoad = function() { trace([this]); //receivedDataの内容が出力されている様子 this.b(); //処理されていない・・・・ } //データ取得 formData.sendAndLoad( "http://192.168.1.101/servlet/GetData", receivedData, "GET"); } //関数b(関数aと同じレイヤ) function b(){ trace("b called"); //処理されない・・・・ } このような、環境で関数bは呼び出し可能なのでしょうか? 大変申し訳ありませんが、アドバイスよろしくお願いします。 |
野中文雄 | Åê¹ÆNo.12946 投稿日時: 2004-12-1 17:00 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: タイムライン上の関数の参照ができない 両関数とも「ムービークリップのフレーム1上」ということは、同じスクリプトペイン内ですか? それとも、レイヤーを分けているのでしょうか?
以下のtrace()ステートメントを挿入すると、[出力]パネルにはどのような結果が表示されますか? 引用: xStaffさんは書きました: |
xStaff | Åê¹ÆNo.12945 投稿日時: 2004-12-1 16:33 |
新米 居住地: 投稿: 20
使用環境:
WinXp,Flash MX2004(7.2) |
タイムライン上の関数の参照ができない お世話になります。
ムービークリップ上のボタンオブジェクトから ムービークリップのタイムライン上に記述した関数は参照できるのですが、 その関数から、同じ階層の関数を参照することができません。 基本的な質問で恐縮ですが、アドバイスを頂きたく投稿させていただきます。 ムービークリップ上のボタンイベント _parent.a(); //問題なし ムービークリップのフレーム1上の関数 function a(){ trace("a called"); //表示される this.b(); //処理されない } ムービークリップのフレーム1上の関数 function b(){ trace("b called"); //表示されない・・・・ } 関数aから関数bを参照することができません。 thisや_parentや_rootを組み合わせていくつか試したのですが、 参照できません。 とても簡単な解決法がある気がしておりますが、 どなたかご存知の方がみえましたら、よろしくお願いします。 |
« 1 (2) |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |