メイン コーダーズルーム【スクリプト系】 AS3 孫クラスからドキュメントクラスの【stage】を参照する方法 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
donny | Åê¹ÆNo.45595 投稿日時: 2010-8-27 18:40 |
新米 居住地: 投稿: 3
使用環境:
MAC 10.6.2 Snow Leopard Flash CS3 |
AS3 孫クラスからドキュメントクラスの【stage】を参照する方法 孫クラスからドキュメントクラスのステージを参照する方法として下記のような手段を取っていますが、
もっと効率の良い方法はありますでしょうか? ドキュメントクラス 【Index.as】 子クラス 【Child.as】 孫クラス 【Grandchild.as】 ■ドキュメントクラスのコンストラクタ内にて、子クラスに 【this】 を渡します。
■子クラス 【Child.as】 のコンストラクタ内にて、ドキュメントクラスから受け取った 【this】 を孫クラスに渡します。
■孫クラス 【Grandchild.as】 のコンストラクタ内にて、ドキュメントクラスのステージを参照します。
以上のような方法で孫クラスからドキュメントクラスのステージは参照できるのですが、 この制作方法ですと、孫クラスを新しく作る度にドキュメントクラスの 【this】 を渡す必要があり手間を感じます。 孫クラスからドキュメントクラスのステージを効率良く参照するための準備や制作方法をご存知無いでしょうか よろしくお願い致します。 |
野中文雄 | Åê¹ÆNo.45596 投稿日時: 2010-8-27 19:15 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: AS3 孫クラスからドキュメントクラスの【stage】を参照する方法 「子」「孫」と表現されていますけど、ドキュメントクラスを継承している訳ではないですよね。つまり単に子から孫の順に呼出しているだけで、「赤の他人」なのではないでしょうか。そうであれば、参照を渡していくのもやむを得ない気がします。
強いて赤の他人から直接参照できるようにしたいのでしたら、たとえばこんな感じでしょうか。 ■ドキュメントクラス
■子クラス【Child】のコンストラクタ
■孫クラス【Grandchild】のコンストラクタ
引用: donnyさんは書きました: |
ゲスト | Åê¹ÆNo.45597 投稿日時: 2010-8-27 19:20 |
Re: AS3 孫クラスからドキュメントクラスの【stage】を参照する方法 どこからでも参照できる方法として静的変数を使うというのはいかがでしょうか? 一般的にはシングルトンというデザインパターンとして、ActionScriptではよく利用されています。
ドキュメントクラス
任意のクラス
※複数のIndexインスタンスがある場合には、別の方法を検討されたほうがいいかもですが、ドキュメントクラス(コンテンツに一つしかインスタンスが作られないような状況)では、扱いやすい方法だと思います。 [追記] 野中さんと回答内容が被っていたようで失礼しました。 |
|
donny | Åê¹ÆNo.45605 投稿日時: 2010-8-30 16:44 |
新米 居住地: 投稿: 3
使用環境:
MAC 10.6.2 Snow Leopard Flash CS3 |
Re: AS3 孫クラスからドキュメントクラスの【stage】を参照する方法 野中文雄様
ご投稿頂きましてありがとうございます。 教えて頂きましたスクリプトにて無事【stage】を参照できました。 ありがとうございます。 【internal】や【static】についてよく理解しておりませんので、 勉強したいと思います。 また【子】や【孫】の概念についての理解が不十分なところ、 ご指摘頂きまして大変勉強になりました。 ありがとうございました。 |
donny | Åê¹ÆNo.45606 投稿日時: 2010-8-30 16:45 |
新米 居住地: 投稿: 3
使用環境:
MAC 10.6.2 Snow Leopard Flash CS3 |
Re: AS3 孫クラスからドキュメントクラスの【stage】を参照する方法 clockmaker様
ご投稿頂きましてありがとうございます。 頂きましたスクリプトを試させて頂きました。 ドキュメントクラスの【stage】だけでなく、 ドキュメントクラスの変数も参照できるのですね。 とても便利そうです。 【シングルトン】という言葉は初耳ですので、 勉強してみたいと思います。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |