我的舞台上有一个可拖动的动画片段。当它击中另一个对象/动画片段时,会出现“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是当可拖动对象击中它时触发“命中”一词的对象。
我希望你们能帮助我!
答案 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语句。