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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     AS3以前風の可変のリンケージ名でattachMovieの処理は不可能??
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nekoyuki
Åê¹ÆNo.32821
投稿日時: 2007-4-9 1:36
半人前
居住地: 大阪府
投稿: 48
使用環境:
FLASH CS3 Professional
XP Pro(SP2)
AS3以前風の可変のリンケージ名でattachMovieの処理は不可能??
なんだか分かり難い題名ですいません・・。

AS3以前はライブラリのムービークリップを呼び出す時、
リンケージ名を指定しなければいけなかったんですが
その場合、リンケージ名に文字列の変数が扱えました。
よって可変的にライブラリに登録したムービークリップを
呼び出すのが可能でした。

// AttachMc1?AttachMc5と登録したMCを呼び出す。
for (var i = 1;i < 5;i++) {
    this.attachMovie("AttachMc"+i,"newMC"+i,i);
}


がAS3ではリンケージではなくクラス名で呼び出すわけですが
その場合、可変的にライブラリに登録したムービークリップを
呼び出すのは不可能なのでしょうか?

// ループで書く事は無理・・・
_mc.addChild(new AttachMc1());
_mc.addChild(new AttachMc2());
_mc.addChild(new AttachMc3());
_mc.addChild(new AttachMc4());
_mc.addChild(new AttachMc5());


文字列変数をコードとして評価する方法があれば
なんとかなりそうなんですけど・・
見当たらないです・・・。

何かに所属するメソッドなら配列アクセス演算子で呼び出すのが
可能ですが流石にクラスのコンストラクタは無理ですよね・・。
野中文雄
Åê¹ÆNo.32822
投稿日時: 2007-4-9 2:19
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: AS3以前風の可変のリンケージ名でattachMovieの処理は不可能??
flash.utils.getDefinitionByName()メソッドを使います。
引用:
nekoyukiさんは書きました:
がAS3ではリンケージではなくクラス名で呼び出すわけですが
その場合、可変的にライブラリに登録したムービークリップを
呼び出すのは不可能なのでしょうか?
// ループで書く事は無理・・・
_mc.addChild(new AttachMc1());
_mc.addChild(new AttachMc2());
_mc.addChild(new AttachMc3());
_mc.addChild(new AttachMc4());
_mc.addChild(new AttachMc5());

for (var i:int = 1; i<=5; i++) {
	var myClass:Class = getDefinitionByName("AttachMc" + i) as Class;
	_mc.addChild(new myClass());
}


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

nekoyuki
Åê¹ÆNo.32823
投稿日時: 2007-4-9 9:49
半人前
居住地: 大阪府
投稿: 48
使用環境:
FLASH CS3 Professional
XP Pro(SP2)
Re: AS3以前風の可変のリンケージ名でattachMovieの処理は不可能??
ご教授有難うございます。

ずっと調べ回ってたんですが
途中で寝てしまいました。
丁度、リファレンスマニュアルのflash.utilsを
開いた所で・・・
朝起きてたら解決してて吃驚です
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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