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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     配列とムービークリップ
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
atsonic
Åê¹ÆNo.22811
投稿日時: 2006-1-14 17:51
新米
居住地: 神奈川
投稿: 15
使用環境:
Win Vista Business : Flash CS4
Mac OSX : Flash CS4
配列とムービークリップ
こんにちはatsonicと申します。

配列とムービークリップの関係で悩んでおります。
ご助言ください。


ムービークリップ名が入った配列があり
例)
aArray = new Array();
aArray = ["a_mc","b_mc","c_mc"];

その配列からムービークリップを一つ抜き出して、_xやら_yやらプロパティを与えたいのですが、どうやったらいいでしょうか?
例)
aArray[1]._x = 50;
の様に・・・


初歩的なことかもしれませんがよろしくお願いします。

野中文雄
Åê¹ÆNo.22813
投稿日時: 2006-1-14 18:03
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 配列とムービークリップ
配列にMovieClipインスタンス名の「文字列」でなく、インスタンスの「参照」を入れましょう。

参考:「ドット演算子と配列アクセス演算子
引用:
atsonicさんは書きました:
ムービークリップ名が入った配列があり
例)
aArray = new Array();
aArray = ["a_mc","b_mc","c_mc"];

その配列からムービークリップを一つ抜き出して、_xやら_yやらプロパティを与えたいのですが、どうやったらいいでしょうか?
例)
aArray[1]._x = 50;
の様に・・・

外部swfファイルからのloadMovieターゲット指定」に投稿したサンプルが、参考になるかもしれません。


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

atsonic
Åê¹ÆNo.22814
投稿日時: 2006-1-14 20:07
新米
居住地: 神奈川
投稿: 15
使用環境:
Win Vista Business : Flash CS4
Mac OSX : Flash CS4
Re: 配列とムービークリップ
野中さん

返信ありがとう御座います。

プロパティは設定できました。
aArray = new Array();
aArray = [["a_mc"],["b_mc"],["c_mc"]];

aArray[1]._x = 50;
引用:

野中文雄さんは書きました:
配列にMovieClipインスタンス名の「文字列」でなく、インスタンスの「参照」を入れましょう。


今度はですね以下の様に設定したいのですが、これが動きません。
aArray[1].onEnterFrame = function(){
///何らかのアクション
}

これはどうしたら良いでしょうか?
すいませんがよろしくお願いします。。
野中文雄
Åê¹ÆNo.22816
投稿日時: 2006-1-14 20:47
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 配列とムービークリップ
それは、違うものをつくっていますよ。

[デバッグ] > [変数のリストアップ]より引用:
変数 _level0.aArray = [オブジェクト #1, クラス 'Array'] [
  0:[オブジェクト #2, クラス 'Array'] [
   0:"a_mc"
  ],
  1:[オブジェクト #3, クラス 'Array'] [
   0:"b_mc",
   _x:50
  ]
,
  2:[オブジェクト #4, クラス 'Array'] [
   0:"c_mc"
  ]
 ]
変数 _level0._mc = [オブジェクト #3, クラス 'Array']
引用:
atsonicさんは書きました:
プロパティは設定できました。
aArray = new Array();
aArray = [["a_mc"],["b_mc"],["c_mc"]];
var _mc = aArray[1];
aArray[1]._x = 50;

配列エレメントを取出すかたちだと、スクリプトエラーは起こらないようですけど。

ドット演算子と配列アクセス演算子」より引用:
ドット演算子(.)でプロパティにアクセスするとき左側オペランドにオブジェクトを指定しなければならないのと同じく、配列アクセス演算子([])もその左側にオブジェクト参照が必要です。配列アクセス演算子([])の左側にオブジェクトを指定しないと、まったく違った意味に解釈されます。たとえば、以下のステートメントは、スクリプトエラーになります。

["my_mc"]._x = 100;

以下のフレームアクションを記述したうえで、[デバッグ] > [変数のリストアップ]により、それぞれの配列の内容を確認してみましょう。
_root.createEmptyMovieClip("my_mc", 1);
var my0_array:Array = ["my_mc"];
var _mc:MovieClip = _root["my_mc"];
var my1_array:Array = [_mc];
var my2_array:Array = [_root.my_mc];


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

atsonic
Åê¹ÆNo.22817
投稿日時: 2006-1-14 21:55
新米
居住地: 神奈川
投稿: 15
使用環境:
Win Vista Business : Flash CS4
Mac OSX : Flash CS4
Re: 配列とムービークリップ
野中さん

ありがとうございました!
理解できました。
始めでつまづいてたんですね。。

これで思ったことが出来そうです。
ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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