2013-04-18 8 views
0

я могу остановить PacMan идти через стену так, но он может пройти через стену, когда идет в другом направлении, код я использовал это:Столкновение со стеной на простой pacman игры с использованием вспышки

onClipEvent (enterFrame) { 
if (_root.char.hitTest(this)) 
{ 
    _root.char._x -= 7; 
} 

}

Мне нужно, чтобы он не проходил через стену, путешествуя в любом направлении! Заранее спасибо

ответ

0

Вы столкнулись с такой ошибкой, потому что, изменяя свойство «x» героя, вы всегда уменьшаете его. Итак, в одном направлении, когда вы перемещаетесь слева направо и увеличиваете значение «x» объекта, ваш код работает нормально. Но когда вы двигаетесь в противоположном направлении, вы уменьшаете значение «x», а при столкновении ваш объект будет немного ускорен (на 7 пикселей).

Чтобы избежать этой ошибки, вы должны уменьшить «x» объекта только тогда, когда он увеличивается во время перемещения, в других ситуациях вы должны увеличить его.

Смежные вопросы