![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2012
Сообщений: 836
|
Подскажите пожалуйста, есть фон, с полом и стенами, в центре стоит игрок. Игрок движется, за счет движения фона, поэтому кажется что игрок идет, но на самом деле стоит. Есть массив с объектами в роли стен, но я что-то пока не понимаю как реализовать столкновение со стенами, чтобы объект игрока не проходил сквозь стены
public function wallplayer(e:Event):void { var i:int; var old_x:int = bg_igrok.x; var old_y:int = bg_igrok.y; trace("Кoординаты по X:" + old_x); trace("Кoординаты по Y:" + old_y); for (i = 0; i < platform_obj_wall.length; i++) { if (bg_igrok.hitTestObject(platform_obj_wall[i])) { trace("Набежали на стену"); bg_igrok.x = old_x; bg_igrok.y = old_y; } } } |
|
|||||
|
[+1 22.07.14]
[+4 12.08.14] [+1 09.02.15] Регистрация: May 2014
Сообщений: 182
|
А стены у Вас тоже вместе с фоном двигаются? Если да то -
можно завести свойства "локальные координаты мира" х и у, в которые записывать смещение фона, а потом прибавлять к ним разницу координат персонажа и получится так, что человек стоит, а проверки на столкновение будут как-будто он движется. |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 836
|
А как мне записать смещение всего фона? Я двигаю фон, пробегая по массиву с объектами сцены
|
|
|||||
|
Регистрация: Dec 2013
Сообщений: 49
|
|
|
|||||
|
Что? Это была из какой-то игры случайная строчка взята? Ну а по делу, то лучше просто взять, и использовать готовый движок типо box2d, т.к. сами столкновения с трудом родите. Ну или на сайте xitri.com посмотреть урок готового платформера.
__________________
Я заклинаю вас действовать иначе. |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 836
|
А нет ни у кого примера с локальными координатами мира? Или может кто может помочь переписать чуток код, чтобы все работало? 100р кину на яндекс.деньги за помощь)
Последний раз редактировалось Godwarlock; 08.06.2014 в 18:41. |
|
|||||
|
Регистрация: Dec 2013
Сообщений: 49
|
Это в качестве примера.
Я люблю когда тип ясно известен в массиве и IDE понимает какие методы можно вызывать. |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|