Коллизия со стеной обычная, а с врагами как с триггером
|
|
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 |
|
| |