Сталкивание предметов

Программирование на Юнити.

Сталкивание предметов

Сообщение Ins 15 дек 2011, 23:05

Добрый вечер.Делаю гонки.Тут возникла проблема при сборе бонусов на трассе.Задача такова:Машина проезжает сквозь бонус,очки +1,и бонус исчезает.
На бонус кидаю данный скрипт
Синтаксис:
Используется csharp
void OnCollisionEnter(Collision collision)
        { if(collision.gameObject.tag=="Car"){
                Destroy (gameObject);
                score++;}}

при этом в бонусе стоят настройки "is trigger=false"?когда машина проезжает бонут то она сперва врезается(чуть замедляет скорость) и затем дальше едет.Как убрать это замедление? если сделать "is trigger=true"?то тогда мой скрипт не работает.
Ins
UNец
 
Сообщения: 47
Зарегистрирован: 06 дек 2011, 01:35

Re: Сталкивание предметов

Сообщение Golandez 16 дек 2011, 00:05

Синтаксис:
Используется csharp
void OnCollisionEnter(Collision collision)
{
  if(collision.gameObject.tag=="Car")
      {
        score++;
        Destroy (gameObject);
      }
}
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Сталкивание предметов

Сообщение Syberex 16 дек 2011, 00:14

http://unity3d.com/support/documentation/ScriptReference/Collider-isTrigger.html
Если триггер, то обрабатывать надо OnTriggerEnter, OnTriggerExit и OnTriggerStay, как я понимаю :)
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: Сталкивание предметов

Сообщение Ins 16 дек 2011, 13:35

Golandez писал(а):
Синтаксис:
Используется csharp
void OnCollisionEnter(Collision collision)
{
  if(collision.gameObject.tag=="Car")
      {
        score++;
        Destroy (gameObject);
      }
}

Конечно же это не поможет
Ins
UNец
 
Сообщения: 47
Зарегистрирован: 06 дек 2011, 01:35

Re: Сталкивание предметов

Сообщение HacKeR 16 дек 2011, 14:14

ставишь на бонус Istrigger=true и потом так:
Синтаксис:
Используется csharp
void OnTriggerEnter(Collision collision)
         { if(collision.gameObject.tag=="Car"){
                 score++;
                 Destroy (gameObject);
                  }}
HacKeR
UNIверсал
 
Сообщения: 360
Зарегистрирован: 12 ноя 2010, 21:14

Re: Сталкивание предметов

Сообщение Golandez 16 дек 2011, 15:46

Ins писал(а):
Golandez писал(а):
Синтаксис:
Используется csharp
void OnCollisionEnter(Collision collision)
{
  if(collision.gameObject.tag=="Car")
      {
        score++;
        Destroy (gameObject);
      }
}

Конечно же это не поможет

Дестроить обьект,а затем пытаться выполнить висящую на нем логику поможет?
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Сталкивание предметов

Сообщение Левш@ 16 дек 2011, 16:06

Дестроить обьект,а затем пытаться выполнить висящую на нем логику поможет?

Нет...где будет выполняться логика? Обьект то не будет существовать...
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Сталкивание предметов

Сообщение Ins 16 дек 2011, 20:24

Golandez,не работает
Ins
UNец
 
Сообщения: 47
Зарегистрирован: 06 дек 2011, 01:35

Re: Сталкивание предметов

Сообщение Golandez 16 дек 2011, 22:02

Я указал вам на ошибку в коде,а не на ваше недопонимание физики. Коллайдер физическая сущность- для того чтобы сработала коллизия два коллайдера должны столкнуться. При столкновении двух физических предметов что происходит? Теряется скорость. Чтобы не было потери скорости пользуйтесь триггерами в подобных ситуациях.
У вас нет доступа для просмотра вложений в этом сообщении.
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6