Обнаружение попадания во флэш-памяти as3 - PullRequest
0 голосов
/ 31 марта 2011

Привет, у меня есть игра со змеями, которая использует таймер для увеличения размера змей, и я пытался выяснить, как на него попадет. и добрались до этой стадии

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

это как это происходит? спасибо

1 Ответ

0 голосов
/ 31 марта 2011

Есть несколько способов сделать это, я говорю вам самый простой.Когда есть два спрайта (или 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

...