メイン コーダーズルーム【スクリプト系】 同一階層にあるインスタンスの参照 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
そうけ島 将史 | Åê¹ÆNo.39744 投稿日時: 2008-8-1 4:57 |
新米 居住地: 投稿: 4
使用環境:
WinXP,Flash CS3 |
同一階層にあるインスタンスの参照 FlashCS3、ActionScript3.0環境です。
まずFlash上のタイムライン上にムービークリップを2つ設置してインスタンス名をそれぞれ root_mc、test_mcとインスタンス名をつけました。 root_mcのほうはシンボルに変換する際にクラスを「Test」としました。 そしてTest.asとして下記のコードを書きました。
やりたいことは表題のとおり、同一階層にある一方のインスタンスからもう一方のインスタンスを参照したいのですが、上記コードではnullになってしまい、期待したものが返ってきません。 どのように書けば良いのでしょうか。
|
野中文雄 | Åê¹ÆNo.39745 投稿日時: 2008-8-1 7:14 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 同一階層にあるインスタンスの参照 インスタンスの生成を待てばよいでしょう。
引用: fumixさんは書きました: |
永井勝則 | Åê¹ÆNo.39775 投稿日時: 2008-8-3 23:58 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: 同一階層にあるインスタンスの参照 暑いので研究熱心な永井です。
野中さんの示されている方法にほとほと感心した次第です。 ほかのイベントでできるのではないかと苦心惨憺、試行錯誤した結果を書きます。 長文ですが、ご容赦ください。 実に面倒な、イベントが行き交う方法です。 なおここでは、ステージ上にmainとsubという順番で置いたムービークリップに、 MainとSubというクラスをリンクさせて、Main内からSubを参照する方法を探っています。 Sub.as
Main.as
出力結果
onShowListener()関数で、getChildAt()やgetChildByName()でsubへの参照は取得できていて、 実際、この時点でsubの位置は変更でき、gotoAndStop()も動作します。 しかし、mainTimeline.subという方法で参照すると、nullが返されます。 その後、出力されているのは、getInstance()関数の結果で、 ここでは、mainTimeline.subという方法で参照できています。 つまりドットでつないで参照できるようになるには、enterFrameイベントを使うほど、 時間が少々かかるということかと、予想しました。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |