Анимация по клику мышки

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Анимация по клику мышки

Сообщение Jax 27 фев 2013, 17:07

Здравствуйте. Помогите пожалуйста со скриптом. Объясню суть моей задачи: Я сделал модель сверлильного станка в 3ds mAx (max_sm) . На станке есть кнопка(Cylinder01), и я хочу что бы при нажатии мышкой на эту кнопку запускалась анимация на объекте "sverlo". Анимация называется "opusk".
Вот скрипт который я написал, но он отказывается работать
Синтаксис:
Используется javascript
function Start () {

}

function Update () {


}

function OnMouseEnter(){

renderer.material.color = Color.white;
}
function OnMouseExit(){

renderer.material.color = Color.red;
}

function OnMouseDown(){
if(Input.GetKeyDown(KeyCode.Mouse1)){
animation.Play("opusk");
}

}

Анимация "opusk" привязана к объекту "sverlo" и она работает. Подскажите пожалуйста, что не так в моём скрипте? :)
Jax
UNец
 
Сообщения: 4
Зарегистрирован: 27 фев 2013, 16:36

Re: Анимация по клику мышки

Сообщение KBEP 28 фев 2013, 02:03

Вангую этот скрипт висит на Cylinder01, а анимацию пытаешься запустить на объекте sverlo. Если так, то тебе надо сначала из этого скрипта получить доступ к sverl'у, а затем через его компонент Animation запускать анимацию. Примерно так:
Синтаксис:
Используется javascript
var go: GameObject;
//...
function OnMouseDown ()
{
    if(Input.GetKeyDown(KeyCode.Mouse1))
    {
        go.animation.Play("opusk");
    };
};

В редакторе не забудь перетащить sverlo из иерархии объектов на переменную go.
Аватара пользователя
KBEP
Старожил
 
Сообщения: 598
Зарегистрирован: 24 сен 2012, 23:23
Откуда: Калининград, СПб, Северодвинск

Re: Анимация по клику мышки

Сообщение Jax 28 фев 2013, 22:20

Спасибо большое)так как я нуб в JavaScript, плохо знаю синтаксис. и задаю такой нубский вопрос: как проверить функцию на истиность. Ну, то есть если одна функция true, то другая функция может работать, а если false, то не работает.
Синтаксис:
Используется javascript
var go: GameObject;
var opusk: AnimationClip;

function Start () {
animation.AddClip(opusk, "opusk");
}

function Update () {
if(OnMouseEnter()){
OnMouseDown();

}
}
function OnMouseEnter(){

        renderer.material.color = Color.white;
}
function OnMouseExit(){

        renderer.material.color = Color.black;
}
function OnMouseDown(){
if(Input.GetKeyDown(KeyCode.Mouse1)){
                go.animation.CrossFade("opusk");
                }

}
Jax
UNец
 
Сообщения: 4
Зарегистрирован: 27 фев 2013, 16:36

Re: Анимация по клику мышки

Сообщение seaman 28 фев 2013, 22:31

Жуть.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Анимация по клику мышки

Сообщение Jax 28 фев 2013, 23:16

Что не так?
Jax
UNец
 
Сообщения: 4
Зарегистрирован: 27 фев 2013, 16:36

Re: Анимация по клику мышки

Сообщение seaman 28 фев 2013, 23:22

Что возвращают эти функции? Что можно проверять в if? Зачем вообще в Update проверять OnMouseEnter? Вы открывали справку по OnMouseEnter? Вы знаете когда вызывается OnMouseEnter? Кто ее вызывает?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Google [Bot] и гости: 15