Проверка на столкновение
Добавлено: 08 июн 2014, 17:26
Есть массив со списком объектов на сцене характеризующую плоскую платформу. При нажатии стрелок, эти объекты двигаются, создавая перемещение. В центре сцены есть объект - игрок. Его координаты остаются неизменны, т.к он не входит в массив, а стоит на месте, но при этом ощущение что он движется.
Как мне реализовать столкновение игрока со стеной? Трейс работает, то есть если игрок набегает на объект из массива то выводится Набежали на стену. Как мне сделать так, чтобы игрок не мог пройти через эти стены? Что надо дописать?
Само перемещение реализуется таким способом
Нужно как-то сделать так, чтобы игрок не мог пройти через стены, как только он врезается в одну из них, то пройти дальше не должен, соответственно платформа перестает двигаться, если он идет не на стену, то движение продолжается. Чего только не поперепробовал не получается
Код: Выделить всё
public function wallplayer(e:Event):void { for (i = 0; i < platform_obj_wall.length; i++) { if (bg_igrok.hitTestObject(platform_obj_wall[i])) { trace("Набежали на стену"); } } }
Само перемещение реализуется таким способом
Код: Выделить всё
if (right_press_platform) //Двигаем платформу в правую сторону { for (i = 0; i < len_1; i++) { bg_locations.bg_conf.platform_obj[i].x -= speed_platform; Bg_Location.bg_play.rotation = -90; } for (i = 0; i < len_2; i++) { bg_locations.bg_conf.platform_obj_wall[i].x -= speed_platform; } }