嗨,我有一个蛇形游戏,它使用计时器来增加蛇的大小,并且我一直试图找出它的命中检测。并且已经到了这个阶段
for (var i = 1; i < snake.length; i++){ //this is where I am trying to make the hit
if (Math.floor(snake[0].x) == Math.floor(s.x) && Math.floor(snake[0].y) == Math.floor(s.y) ){
trace("hit");
}
}
这是怎么回事?感谢
答案 0 :(得分:0)
有多种方法可以做到,我告诉你最简单的方法。 当有两个精灵(或MoveiClips)时,你可以使用
检查它们的命中sprite1.hitTestObject( sprite2 );
这是实现您所需要的最简单方法。所以最初把四个简单 sprite作为墙壁,让蛇在它们之间爬行并继续检查“hitTestObject” 四面墙。这样
this.addEventListener( Event.ENTER_FRAME, enterFrameHandler );
private function enterFrameHandler( e:Event ):void
{
if( snake.hitTestObject( sprite1 ) ) { // do something }
// repeat above if with all four walls
}