0

ifステートメントを作成し、ターゲットが別のムービークリップにヒットしたときに何かを実行したい場合(私はすでにその方法を知っています)、それが正しいターゲットである場合にのみ、どのように実行しますか?

function stopdrag(e:MouseEvent):void{
    e.currentTarget.stopDrag();
    if(e.currentTarget.hitTestObject(destination) || //right here is where the script would `check the name of the target// ){`
        scaryface.visible=true;
    }
}

ターゲットが配列の特定の値である場合にのみ機能することを確認するにはどうすればよいですか?

4

4 に答える 4

0

switch/case または入れ子になった if ステートメントを設定できます...信じられないほどの量のターゲットがない場合...たとえば:

if (e.currentTarget.hitTestObject(destination1){
doSomething();
}else if{
(e.currentTarget.hitTestObject(destination2){
doSomethingElse();
}

そうでなければ、上記のVipulのソリューションのようなものは非常に賢明です

于 2013-03-08T19:42:47.577 に答える
0

あなたが何を求めているのか正確にはわかりません。ターゲットが配列内に含まれているかどうかを確認しようとしている場合は、次のコードのようなものを使用できます。

function stopdrag(e:MouseEvent):void{
    e.currentTarget.stopDrag();
    if(e.currentTarget.hitTestObject(destination) && yourArray.indexOf(e.currentTarget) > 0){
         scaryface.visible=true;
    }
}

これにより、ターゲットが宛先と衝突するかどうかがチェックされ、衝突する場合は、ターゲットが yourArray 内に含まれているかどうかがチェックされます。

于 2013-03-08T06:49:00.623 に答える
0

その配列の作成時に、ID (arr[0].ID = "abc") などのようなそのターゲットのカスタム プロパティを作成し、ID を確認できます。

また、配列内のいずれかの値と一致させようとしているという条件の場合は、for ループのインデックスで確認できます。

于 2013-03-08T05:58:04.093 に答える
0

パフォーマンスを考えずにそれを行う最も簡単で怠惰な方法は、

if(array.indexOf(e.currentTarget) >= 0){
    //do something
}
于 2013-03-08T21:48:48.067 に答える