多次击中AS3

时间:2012-10-11 11:53:47

标签: actionscript-3 flash hittest

我的舞台上有一个可拖动的动画片段。当它击中另一个对象/动画片段时,会出现“hit”字样。到现在为止还挺好。但是,我希望可拖动的movieclip能够击中多个其他对象,每个对象都有不同的反应(比如加载其他动画片段或其他东西)。

这是我对最热门部分的代码:

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是当可拖动对象击中它时触发“命中”一词的对象。

我希望你们能帮助我!

1 个答案:

答案 0 :(得分:0)

你已经有一个碰撞的触发器和输出(如果blok3 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语句。