Как запустить частицы?

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

Как запустить частицы?

Сообщение TimmyMulla 13 фев 2010, 10:17

Всем здрасте.

Начал изучать движок и столкнулся с такой проблемой: не могу запустить частицы по нажатию кнопки мыши.

Порылся на форуме и в туторах - нашел код, который вроде как должен это делать, но не делает. Т.е. он не работает как надо.

Код: Выделить всё
private var hitParticles : ParticleEmitter;

function Update () {

   //
   hitParticles = GetComponentInChildren(ParticleEmitter);
   
   if (Input.GetMouseButtonDown(0)) {
      //
      hitParticles.emit = true;
   }
   else {
      hitParticles.emit = false;
   }
}


Если в обоих случаях поставить false, то частицы выключаются. Если в обоих случаях поставить true - частицы работают.
Но если поставить в одном false в другом true - нифига не работает. На нажатие ЛКМ не реагирует.

Код вешаю на Ellipsoid Particle Emmiter.

Помогите, плз )
Аватара пользователя
TimmyMulla
UNец
 
Сообщения: 47
Зарегистрирован: 13 фев 2010, 10:07
Откуда: Екатеринбург

Re: Как запустить частицы?

Сообщение Neodrop 13 фев 2010, 10:22

Для начала, пройдите 3D Platform Tutorial. Вам это очень сильно нужно.
Во -первых, никогда не получайте в Update (то есть в каждом, блин, кадре) то, что можно получить один раз в Start и сохранить в перменную. Это я про GetComponent

Во - вторых, ну вы код то свой почитали? Input.GetMouseButtonDown сробатывает в кадре, в котором юзер нажал кнопку мыши. Во всех остальных он не срабатывает и ваш код вырубает эмиттер. Разве же это непонятно? :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Как запустить частицы?

Сообщение TimmyMulla 13 фев 2010, 10:28

Ага! Вон оно где!

То-то чую, что лажа какая-то )

Спасибо )
Аватара пользователя
TimmyMulla
UNец
 
Сообщения: 47
Зарегистрирован: 13 фев 2010, 10:07
Откуда: Екатеринбург

Re: Как запустить частицы?

Сообщение TimmyMulla 13 фев 2010, 12:51

Так. Допинал:

Код: Выделить всё
function Update () {   

   if (Input.GetMouseButton(0)) {
      //
      GetComponent(ParticleEmitter).emit = true;
   }
   else {
      GetComponent(ParticleEmitter).emit = false;
   }

}


Проблема была на самом деле в GetMouseButtonDown (это получается нажатие). Заменил на GetMouseButton (а это зажата кнопка) и все работает.
Ну и типа оптимизировал )
Спасибо, Нео.
Аватара пользователя
TimmyMulla
UNец
 
Сообщения: 47
Зарегистрирован: 13 фев 2010, 10:07
Откуда: Екатеринбург


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

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

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