Как использовать обнаружение столкновений (в ActionScript 3.0) на одной стороне прямоугольника иначе, чем на других сторонах - PullRequest
0 голосов
/ 23 июня 2011

Я пытался выяснить, как использовать обнаружение столкновений на одной стороне прямоугольника иначе, чем на других сторонах. например: Марио разбивает ящики головой, стоя под коробкой и подпрыгивая. (Я ссылаюсь только на игру Super Mario Bros.). Если Марио ударит коробку с боков или сверху, ничего не сломается и не выйдет из коробки. Как вы это делаете в Actionscript 3.0.

Я использовал следующий код для моих объектов, которые обнаруживают столкновения.

stage.addEventListener(Event.ENTER_FRAME,hitTest);

function hitTest(evt:Event):void
{
  if(object1.hitTestPoint(object2.x,object2.y,true))
  {

  }
  else
  {

  }
}

скажем, Марио - объект2, а поле - объект1. Как я могу столкнуться с одной стороной коробки иначе, чем с другими сторонами.

Ответы [ 2 ]

2 голосов
/ 23 июня 2011

Вам нужно проверить, не превышает ли y Марио нижнюю точку ограничительной рамки прямоугольника.Вы можете получить ограничивающий прямоугольник, используя getBounds .Я полагаю, что полученное значение y + его высота будет нижней частью окна, которое вы ищете.

0 голосов
/ 23 июня 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...