メイン ActionScript 3.0 特設会議室 addChildで作成した複数のムービークリップを別のメソッドから制御したい | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
KOINPOP | Åê¹ÆNo.34877 投稿日時: 2007-8-29 8:16 |
新米 居住地: 岐阜県 投稿: 16
使用環境:
WindowsXP HOME FLASH CS3 |
addChildで作成した複数のムービークリップを別のメソッドから制御したい はじめまして。
AS1.0からAS3.0に挑戦しています。 的はずれな疑問でしたら、申し訳ございません。 addChildで作成したムービークリップに対して、別のメソッドから一斉に指示がしたいのですが、 ムービークリップを作成する際に例えば mc.name="grid"+ID という感じでで名前をつけておいて、あとでそのnameを利用すれば良いと考えていたのですが この考えが誤っているのか、何か他の部分が要因なのか、混乱してきてしまい 思い切って、質問させていただきました。 今回の件に関わるコードを抜粋しました。 public class map extends MovieClip { //コンストラクタ var gridSum:Number=0; public function addGrid():void { //グリッドを生成 for (j=0; j <= 38; j++) { mc.y=j * 20; mc.name="grid" + ID; MovieClip(this).mapGrid_mc.addChild(mc); gridSum++ } public gridData():void{ //生成した各グリッドにアクセス var ID:Number; var tagetMc:String; for (ID=0; ID<=gridSum; ID++) { tagetMc="grid" + ID; trace(MovieClip(this).mapGrid_mc[tagetMc].y) } } } あきらかにグリッドが生成された後に、gridData()を実行しても出力に TypeError: Error #1010: 条件は未定義であり、プロパティがありません。 というエラーになってしまいます。 生成したグリッドから実行したtraceでは下記のように trace(MovieClip(parent).name)//mapGrid_mc であるのに、mapGrid_mcから、子である各グリッドにアクセスできないのが どうしても疑問なのですが そもそも考え方として、間違っている点があるのでしょうか? お手数ですが、ご助言、よろしくお願い致します。 |
ニノミヤ カズノリ | Åê¹ÆNo.34880 投稿日時: 2007-8-29 9:46 |
職人 居住地: 東京 投稿: 430
使用環境:
CS4 .4.11, .5.7 XP Pro(sp3) Flash Player 10,0,22,87, AIR 1.5.1, IE 5.5 & 6 & 7 & 8, Firefox 2.0.0.20 & 3.0.11 & 3.5, Opera 9.64, Safari 4, Google Chrome 2.0.172.31, Netscape 7.1 |
Re: addChildで作成した複数のムービークリップを別のメソッドから制御したい 初めまして。ニノミヤと申します。
引用:
まず最初に、所々未定義の変数があるのですが実際のコードでは正しく宣言されているのでしょうか。 for文で使用されているjやmc等ですね。 では本題ですが、例えば
mapGrid_mcに追加されたtestにアクセスしたいとします。 しかし、addChildはオブジェクトをそのまま追加する物ではありませんので、アクセス演算子によるアクセスはできません。 どうしてもアクセス演算子を使用したアクセスをしたいのであれば、下記の様にしてみてください。
|
KOINPOP | Åê¹ÆNo.34887 投稿日時: 2007-8-29 23:56 |
新米 居住地: 岐阜県 投稿: 16
使用環境:
WindowsXP HOME FLASH CS3 |
Re: addChildで作成した複数のムービークリップを別のメソッドから制御したい ニノミヤさん、こんなに早くご返信いただき、どうもありがとうございます。
>所々未定義の変数があるのですが実際のコードでは正しく宣言されているのでしょうか。 ごめんなさい、余計なところを省いたつもりが、結局、穴がある転記になってしまいました。 ご察しくださり、ありがとうございます。 今、教えていただいたようにコードを変えてみたところ うまくいきましたので、ご報告させていただきます。 いろいろ本などを見てみたのですが、自力でこの方法にたどり着くには 相当な時間がかかった思いますので本当に助かりました。 どうもありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |