Как получить мощность, которая имеет гравитацию и не подталкивается игроком? - PullRequest
1 голос
/ 09 апреля 2019

У меня проблемы с коллайдерами и твердыми телами в моей игре.

У меня есть powerup, который, когда игрок касается, дает игроку апгрейд оружия, это просто достигается с помощью onTriggerEnter2D() и установки коллайдера при включении в качестве триггера. Но проблема в том, что триггер даже не обнаруживает наземный коллайдер, на котором работает игрок, и просто падает сквозь землю.

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

У меня похожая проблема с моими врагами, которые должны убивать игрока на ощупь. Когда я устанавливаю коллайдер на них как триггеры, они убивают игрока, как и ожидалось, но падают на землю, поскольку у них есть триггеры. Но когда я убираю опцию триггера, враги бегут по земле как обычно, но никогда не трогают игрока, потому что коллайдеры врага и игрока отталкивают друг друга, и игровые объекты фактически никогда не касаются.

Как это решить?

Спасибо

1 Ответ

1 голос
/ 09 апреля 2019

Вы можете использовать метод OnCollisionEnter2D(Collision) для обнаружения столкновений с не триггерными коллайдерами вместо OnTriggerEnter2D(), и он все равно позволит вашим объектам сталкиваться с полом и не проваливаться.

...