0

クラス「myClass」があり、インスタンス名がないムービークリップがあります。これを使ってアルファを変えようとしています

var i:int = this.numChildren;
while(i--){
    if (this.getChildAt(i) is myClass){

        this.getChildAt(i).alpha = 0.5;
    }
}

このアプローチには2つの問題があります。

1-クラスの文字列名を使用できません。getClassや比較するメソッドはありませんか?

if (this.getChildAt(i) is "myClass"){

2-ムービークリップを見つけてアルファを変更すると、既存のアニメーションが壊れます。なぜ?

ありがとう

4

1 に答える 1

0

getDefinitionByName() (ここのドキュメントを参照)はあなたが必要とするものです。

var className:String = "com.MyClass";
var clazz:Class = flash.utils.getDefinitionByName(className) as Class;
var i:int = this.numChildren;

while(i--){
    if (this.getChildAt(i) is clazz){
        this.getChildAt(i).alpha = 0.5;
    }
}
于 2012-11-21T23:21:16.033 に答える