Воскресенье, 24 Ноября 2024, 02:43

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
наслаивание коллайдеров
borisyashinДата: Пятница, 30 Июня 2017, 10:12 | Сообщение # 1
был не раз
Сейчас нет на сайте
Нужно, чтобы была платформа, через которую снизу, сбоку... можно перепрыгнуть, но сверху она удерживает.
теперь нужно, чтобы для игрока это работало, как я описал, а враг просто проходит по ней.
Насколько допустимо сделать в платформе 2 объекта с разными слоями, оба имеют коллайдер. первый слой взаимодействует лишь с игроко - он меняет isTrigger на тру/фолс. Второй слой лишь с врагами - у него чисто коллайдер без тригера.

сейчас ипользую что-то вроде этого
C#Выделить код

public class throughPlatform : MonoBehaviour {

private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.name == "foot")
GetComponent<Collider2D>().isTrigger = false;
if (collision.gameObject.layer == 9)
{
collision.GetComponent<Rigidbody2D>().gravityScale = 0;
collision.GetComponent<Rigidbody2D>().velocity = Vector2.zero;
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.gameObject.name == "foot")
GetComponent<Collider2D>().isTrigger = true;
if (collision.gameObject.layer == 9)
{
collision.GetComponent<Rigidbody2D>().gravityScale = 1;
}
}
да layer.toString() почему-то не работает, позже буду разбираться

плюс, если оба _враг уже на платформе, а игрок нет: плаформа все равно должна работать, как я описал.
P.S. изменить платформу добавлением объектов в unity не предлагайте, нужно, чтобы все проходило в tiled,а
в unity лишь добавить скрипт, мзменить коллайдер на триггер
EchoITДата: Пятница, 30 Июня 2017, 10:20 | Сообщение # 2
старожил
Сейчас нет на сайте
borisyashin, вообще можно менять состояние платформы в зависимости от того, выше неё игрок или ниже. Остальное в целом можно так сделать, как вы написали.

Долгожданный анонсик: State of War
borisyashinДата: Пятница, 30 Июня 2017, 12:10 | Сообщение # 3
был не раз
Сейчас нет на сайте
Ну, так, допустимо сделать два коллайдера в одном месте ? Враги лишь с одним взаимодействуют - в project setting - physic2D поставить.
тогда для врагов вообще ничего писать не нужно. Так-то скорей всего на мелком платформере сработает, а насколько рационально это делать не понятно


Сообщение отредактировал borisyashin - Пятница, 30 Июня 2017, 12:13
EchoITДата: Пятница, 30 Июня 2017, 12:40 | Сообщение # 4
старожил
Сейчас нет на сайте
borisyashin, допустимо, почему нет. В более сложной логике с этим могли бы быть проблемы, но в вашей ситуации я их не вижу.

Долгожданный анонсик: State of War
  • Страница 1 из 1
  • 1
Поиск:

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