0

嗨,我有一个蛇游戏,它使用计时器来增加蛇的大小,我一直试图找出它的命中检测。并且已经到了这个阶段

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");
                }
            }

这是我怎么做的吗?谢谢

4

1 回答 1

0

有多种方法可以做到,我告诉你最简单的一种。当有两个精灵(或 MoveiClips)时,您可以使用

sprite1.hitTestObject( sprite2 );

这是实现您正在寻找的最简单的方法。所以最初将四个简单的精灵作为墙壁,让蛇在它们之间爬行,并不断检查四个墙壁上的“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
}

见这里http://ashwani.50webs.com/snake.jpg

于 2011-03-31T03:09:33.037 回答