OnMouseOver: помогите ньюбу

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

OnMouseOver: помогите ньюбу

Сообщение bessgeor 24 дек 2011, 17:30

Имеется скрипт
Синтаксис:
Используется javascript
var lightt: Light;

function onMouseOver()  
{  
        while(lightt.intensity<8)
                {lightt.intensity += 1;}
}

function onMouseExit()  
{  
        while(lightt.intensity>0)
        {lightt.intensity -= 1;}
}

function Update () {}

и несложная сцена-меню
Unity1.png

На первом скриншоте на ГУИ стоят текстуры, на втором текстура none (и видны настройки камеры).
Unity2.png

На каждый из трех объектов в кнопке (текстура ГУИ, obj-файл (или его название) и объект модели - текст) поставлен вышеприведенный скрипт (какая именно лампочка тоже установлено).
Проблема: скрипт, по всей видимости, не срабатывает: сколько ни води над "кнопками", результата не добьешься. На источниках света игнорирование лучей отключено.
У вас нет доступа для просмотра вложений в этом сообщении.
bessgeor
UNец
 
Сообщения: 2
Зарегистрирован: 24 дек 2011, 17:07

Re: OnMouseOver: помогите ньюбу

Сообщение Левш@ 24 дек 2011, 19:18

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

Re: OnMouseOver: помогите ньюбу

Сообщение waruiyume 24 дек 2011, 19:48

OnMouseOver()
OnMouseExit()
Синтаксис:
Используется javascript
public var _light:Light;

function OnMouseEnter()
{
    StopCoroutine("Dn");
    StartCoroutine("Up");
}

function OnMouseExit()
{
    StopCoroutine("Up");
    StartCoroutine("Dn");
}

function Up()
{
    Debug.Log("Enter");
    while (true)
    {
        _light.intensity = Mathf.Clamp(_light.intensity+5f*Time.deltaTime, 0f, 5f);
        if (_light.intensity < 5f)
            yield;
        else
            break;
    }
}

function Dn()
{
    Debug.Log("Exit");
    while (true)
    {
        _light.intensity = Mathf.Clamp(_light.intensity - 5f * Time.deltaTime, 0f, 5f);
        if (_light.intensity > 0.0001f)
            yield;
        else
        {
            _light.intensity = 0f;
            break;
        }
    }
}

 

Наверно как-то так.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: OnMouseOver: помогите ньюбу

Сообщение bessgeor 24 дек 2011, 23:16

Премного благодарен, больших "О" хватило :)
bessgeor
UNец
 
Сообщения: 2
Зарегистрирован: 24 дек 2011, 17:07


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

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

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