Пятница, 08 Ноября 2024, 16:38

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Коллизия со стеной обычная, а с врагами как с триггером
alexsilentДата: Понедельник, 08 Июня 2015, 11:42 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
Приветствую друзья! Делаю 2D платформер вид сбоку. Я тут думаю, а можно сделать так чтобы враги сталкивались со стеной, как твёрдый объект,
а с героем столкновение было, как с триггером, чтобы не ходить по головам врагов, но и враги не проваливались сквозь стены.


Сообщение отредактировал alexsilent - Понедельник, 08 Июня 2015, 11:43
Storm54Дата: Понедельник, 08 Июня 2015, 11:47 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Ставишь герою другой слой и в настройках физики выставляешь, чтобы слой игрока и врагов друг с другом не взаимодействовали

Сообщение отредактировал Storm54 - Понедельник, 08 Июня 2015, 11:47
alexsilentДата: Понедельник, 08 Июня 2015, 11:49 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
Цитата Storm54 ()
Ставишь герою другой слой и в настройках физики выставляешь, чтобы слой игрока и врагов друг с другом не взаимодействовали

Спасибо, но нужно чтобы враги отнимали здоровье герою, но на них нельзя было наступить и вообще столкновение между ними, чтобы было, как с триггером.
Storm54Дата: Понедельник, 08 Июня 2015, 12:10 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Другой коллайдер добавь и выстави триггер ему. И вообще врагов можно по пересечению прямоугольников считать.
AstralangelДата: Понедельник, 08 Июня 2015, 12:46 | Сообщение # 5
STF Games
Сейчас нет на сайте
Я бы наверное навешал дополнительный коллайдер на героя который был бы больше чем основной коллайдер персонажа и являлся триггером, при столкновении врагов с ним (OnTriggerEnter2D) делать коллайдер IsTrigger, а привыходе (OnTriggerExit2D) !IsTrigger

Весь мир театр, все люди в нем актеры и каждый не одну играет роль (с) Шекспир
Storm54Дата: Понедельник, 08 Июня 2015, 14:40 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Цитата Astralangel ()
Я бы наверное навешал дополнительный коллайдер на героя который был бы больше чем основной коллайдер персонажа и являлся триггером, при столкновении врагов с ним (OnTriggerEnter2D) делать коллайдер IsTrigger, а привыходе (OnTriggerExit2D) !IsTrigger

Мало того, что костыль, так еще и работать не будет должным образом. При соприкосновении с врагами, игрок упадет


Сообщение отредактировал Storm54 - Понедельник, 08 Июня 2015, 14:40
NovaSurferДата: Среда, 10 Июня 2015, 00:25 | Сообщение # 7
частый гость
Сейчас нет на сайте
Вам уже дали правильные ответы:

Цитата Storm54 ()
Ставишь герою другой слой и в настройках физики выставляешь, чтобы слой игрока и врагов друг с другом не взаимодействовали


Цитата Storm54 ()
И вообще врагов можно по пересечению прямоугольников считать.


1. Создаете два слоя (один для героя другой для врага), указываете соответственно.
Заходите в Physics2DSettings (Edit -> ProjectSettings -> Physics2D) и убираете галочку на перекрестье созданных тегов.

2. Проверяем пересечение игрока с врагом.

Код
//Проверяем пересеклись ли границы heroSrite и enemySprite
if (heroSprite.bounds.Intersects(enemySprite.bounds))
{
    //Отнимаем жизни
}

Спрайты желательно вытягивать из объекта, допустим если у вас несколько врагов с разными изображениями.
Для этого нужно будет сделать проверку по тегу врага.


Мой блог - infcode.com

Сообщение отредактировал NovaSurfer - Среда, 10 Июня 2015, 00:33
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг