Как переместить контейнер с помощью moveToObject - Phaser 3

У меня есть враг с полосой здоровья. Я хочу, чтобы шкала здоровья двигалась вместе с противником. Для этого я сделал такой контейнер:

var container = scene.add.container(x, y, [enemy, healthBar]);

Это работает, как и ожидалось, проблема в том, что я пытаюсь переместить контейнер с помощью moveToObject следующим образом:

scene.physics.moveToObject(container, player, speed);

Это вообще не работает. Как мне решить эту проблему?


person christian    schedule 28.03.2019    source источник
comment
Какая у вас ошибка? У меня аналогичная проблема, я пытаюсь переместить контейнер в x, y и получаю Uncaught TypeError: Cannot read property 'velocity' of null - похоже, у контейнера нет тела.   -  person kirhgoff    schedule 11.10.2020


Ответы (1)


scene.physics.world.enableBody(container);

enableBody (object [, bodyType]) - создает Arcade Physics Body на одном игровом объекте. И moveToObject будет работать.

person fortey t    schedule 16.08.2020
comment
Это не дает ответа на вопрос. Как только у вас будет достаточная репутация, вы сможете комментировать любой пост; вместо этого предоставит ответы которые не требуют пояснений от автора вопроса. - Из отзыва - person user35443; 16.08.2020
comment
Я не уверен, что делает приведенный выше комментарий, но этот ответ решает мою проблему, я искал именно это. - person kirhgoff; 11.10.2020