Проблема с JS: ControllerColliderHit, MonoBehaviour..

Раздел, посвящённый всему, что связано с программированием для Редактора Юнити. Скрипты Редактора, Wizards и прочее.

Проблема с JS: ControllerColliderHit, MonoBehaviour..

Сообщение Nolex 21 окт 2010, 21:58

Вообщем делаю простой урок. Там смысл, что когда подходиш к объекту, он начинает двигаться.

Вот код JS-скрипта:
Код: Выделить всё
function OnControllerColliderHit(hit : ControllerColliderHit)
{
   if(hit.gameObject.tag == "lift")
   {
   hit.gameObject.animation.Play("lift_up");
   
   }

}


Вроде все сделал как в Уроке, но когда подходиш к объекту, то ничего не происходит.
Я заметил что на First Person Controller, в уроке стоит скрипт — MonoBehaviour, а у меня его нет. Это из-за него?

В чем проблема может быть?
Разработка игр в студии Brinemedia .
Аватара пользователя
Nolex
UNIверсал
 
Сообщения: 483
Зарегистрирован: 17 окт 2010, 12:26
Откуда: Украина
Skype: exlumen
  • Сайт
  • ICQ

Re: Проблема с JS: ControllerColliderHit, MonoBehaviour..

Сообщение GrueGames 21 окт 2010, 22:29

Синтаксис:
Используется javascript
function OnCollisionEnter(collision : Collision)
{
    if (collision.gameObject.tag == "lift")
    {
    collision.gameObject.animation.Play("lift_up"); //эта анимация проигрывается на прикоснувшемся объекте
    }
}
 
Аватара пользователя
GrueGames
UNITрон
 
Сообщения: 200
Зарегистрирован: 11 апр 2009, 16:42
Откуда: Samara, Russia
  • Сайт
  • ICQ

Re: Проблема с JS: ControllerColliderHit, MonoBehaviour..

Сообщение Nolex 21 окт 2010, 22:38

Newbie писал(а):
Синтаксис:
Используется javascript
function OnCollisionEnter(collision : Collision)
{
    if (collision.gameObject.tag == "lift")
    {
    collision.gameObject.animation.Play("lift_up"); //эта анимация проигрывается на прикоснувшемся объекте
    }
}
 



Синтаксис:
  1. function OnCollisionEnter(collision : Collision) 
  2.     if(collision.gameObject.tag == "lift") 
  3.     { 
  4.     print("111"); 
  5.     collision.gameObject.animation.Play("lift_up"); 
  6.     } 
  7.     else 
  8.     { 
  9.     print("333"); 
  10.     } 
  11.  


В от такой код впихнул, вообще не реагирует. Даже print не пашет.
На лифт(бокс обычный, который должен подыматься вверх) прописал TAG - lift.
На fitst person contr. поставил этот скрипт, а всеравно не пашет.
Разработка игр в студии Brinemedia .
Аватара пользователя
Nolex
UNIверсал
 
Сообщения: 483
Зарегистрирован: 17 окт 2010, 12:26
Откуда: Украина
Skype: exlumen
  • Сайт
  • ICQ

Re: Проблема с JS: ControllerColliderHit, MonoBehaviour..

Сообщение GrueGames 21 окт 2010, 22:45

У тебя получается что игрок запускает лифты, а не лифт срабатывает от появления игрока (что более логично)
Надо тогда на лифт повесить:

Синтаксис:
Используется javascript
function OnCollisionEnter(collision : Collision)
{
    if (collision.gameObject.tag == "player")
    {
    gameObject.animation.Play("lift_up"); //эта анимация проигрывается на лифте
    }
}


а на плеера повесить тег "player"

На лифте и игроке естественно должны быть collider и rigidbody
Аватара пользователя
GrueGames
UNITрон
 
Сообщения: 200
Зарегистрирован: 11 апр 2009, 16:42
Откуда: Samara, Russia
  • Сайт
  • ICQ

Re: Проблема с JS: ControllerColliderHit, MonoBehaviour..

Сообщение Nolex 21 окт 2010, 23:22

Newbie писал(а):У тебя получается что игрок запускает лифты, а не лифт срабатывает от появления игрока (что более логично)
Надо тогда на лифт повесить:

Синтаксис:
Используется javascript
function OnCollisionEnter(collision : Collision)
{
    if (collision.gameObject.tag == "player")
    {
    gameObject.animation.Play("lift_up"); //эта анимация проигрывается на лифте
    }
}


а на плеера повесить тег "player"

На лифте и игроке естественно должны быть collider и rigidbody

А как collider вешать на объект? Где он находиться, а то я не могу найти .. (
Разработка игр в студии Brinemedia .
Аватара пользователя
Nolex
UNIверсал
 
Сообщения: 483
Зарегистрирован: 17 окт 2010, 12:26
Откуда: Украина
Skype: exlumen
  • Сайт
  • ICQ

Re: Проблема с JS: ControllerColliderHit, MonoBehaviour..

Сообщение GrueGames 21 окт 2010, 23:32

gameObject.AddComponent(BoxCollider);
gameObject.AddComponent(Rigidbody);

или в меню component-physics-...
Аватара пользователя
GrueGames
UNITрон
 
Сообщения: 200
Зарегистрирован: 11 апр 2009, 16:42
Откуда: Samara, Russia
  • Сайт
  • ICQ


Вернуться в Editor

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

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