1

ステージにドラッグ可能なムービークリップがあります。別のオブジェクト/ムービークリップにヒットすると、「ヒット」という単語が表示されます。ここまでは順調ですね。しかし、ドラッグ可能なムービークリップが他の複数のオブジェクトにそれぞれ異なる反応でヒットするようにします (他のムービークリップなどをロードするなど)。

これは、最もヒットした部分のコードです。

import flash.events.Event;

this.addEventListener( Event.ENTER_FRAME, handleCollision)

function handleCollision( e:Event ):void
{
    if(blok3.hitTestObject(schaap))

       {
           output_txt.text = "HIT"
       }
       else
       {
           output_txt.text = ""
       }

}

SCHAAP はドラッグ可能なオブジェクトで、blok3 はドラッグ可能なオブジェクトがヒットしたときに「hit」という単語をトリガーするオブジェクトです。

皆さんが私を助けてくれることを願っています!

4

1 に答える 1

0

すでに 1 つの衝突のトリガーと出力があるため (ブロック 3 htis schaap の場合、出力 "HIT")、既存のステートメントの下に別の if ステートメントを追加するだけで簡単に拡張できます。

function handleCollision( e:Event ):void
{
    if(blok3.hitTestObject(schaap))    
    {
        output_txt.text = "HIT"
    }
    // else if statement to check for collision on second object
    else if(differentBlok.hitTestObject(schaap))
    {
        output_txt.text = "SMASH"
    }
    else
    {
        output_txt.text = ""         
    }

}

ここからは、オブジェクトごとに個別の if ステートメントを用意するのではなく、オブジェクトを配列に格納し、配列をループして衝突をチェックする方法を見ることができます。

于 2012-10-11T12:16:10.573 に答える