Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Постепенное исчезновение и появление объекта при наведении курсора. (http://www.flasher.ru/forum/showthread.php?t=116375)

Flazhok 28.09.2008 19:58

Постепенное исчезновение и появление объекта при наведении курсора.
 
Всем привет!!!
Столкнулся с небольшой проблемкой...
Написал код, для исчезновения-появления клипа, при наведении курсора на кнопку:
Код:

button.onRollOver = function() {
        this._parent.myClip._alpha-= 10;;
};
button.onRollOut = function() {
        this._parent.myClip._alpha+= 10;
};

Дело в том, что нужно, чтобы при наведении курсора на кнопку - клип постепенно исчезал, а при убирании - появлялся обратно, так же плавно. А у меня он исчезает мигом до -10, а потом появляется в обратку без плавности. Что исправить в этом коде, что бы клип исчезал полностью плавно и вновь появлялся при убирании мышки?:bb:

Mur4ik 28.09.2008 20:06

При наведении мышки на объект событие onRollOver/onRollOut срабатывает всего один раз...

Создайте функции исчезновения/появления клипа и внутри обработчиков вызывайте соответствующую функцию.
Или в крайнем случае сделайте уменьшение/увеличение прозрачности в цикле в коде обработчиков.
Но лучше, конечно, определить нужные функции.

Flazhok 28.09.2008 20:20

Это ясно. А тогда подскажите пожалуйста, какую функцию нужно применить для плавного исчезновения, что бы она срабатывала не один раз? И, если вам не трудно, покажите код с примером этой функции??:quiet:

Mur4ik 28.09.2008 20:33

давайте лучше вместе с Вами это сделаем...
Что именно Вам не понятно?
Понятие функции знакомо Вам?
Сможете сами создать функцию?
В теле функции Вам нужно в цикле уменьшать или увеличивать значение _alpha?
т.е Вы правильно делали, только нужно эти действия повторить несколько раз чтоб объект полностью стал прозрачным, для этого нужно использовать цикл...

Попробуйте для начала там же где и Вы писали только поместить строчки
this._parent.myClip._alpha-= 10; и ей противоположную в циклы...

Если не будет получатся, будем дальше разжевывать

Mur4ik 28.09.2008 20:51

Общий смысл такой:
Код:

function hide():Void
{
    // к клипу над которым сейчас мышка можно здесь обратиться как this
    // здесь код исчезновения клипа
}

function show():Void
{
    // к клипу над которым сейчас мышка можно здесь обратиться как this
    // здесь код появления клипа
}

button.onRollOver = hide;

button.onRollOut = show;


Flazhok 28.09.2008 21:04

Вложений: 1
Теоритически я знаком с функциями, могу скопировать - вставить куда нужно. А вот создавать их и сами их значения я не знаю. И как их циклить тоже.:bb:
Я привязал пример, того, что я делаю. Посмотрите-подскажите, пожалуйста, что там не так и как сделать, чтоб оно все-таки плавно исчезало?.. И как создавать циклы?, чтобы я выучил уже раз и навсегда!:p

Flazhok 28.09.2008 21:18

Сделал так:
Код:

function hide():Void
{
      this.myClip;
    _alpha-= 50;
}

function show():Void
{
  this.myClip;
  _alpha+= 50;
}

button.onRollOver = hide;

button.onRollOut = show;

Всё равно исчезает быстро. Да еще и вместе с кнопкой..
Какой должен быть код исчезновения?

Mur4ik 28.09.2008 21:56

а какой смысл в строчке this.myClip; ?

Значение _alpha может принимать значение от 0 до 100
вот и отнимайте по чуть-чуть чтоб не так быстро исчезало

Код:

function hide():Void
{
        this._alpha -= 5;
        if (this._alpha <= 0) {
                delete this.onEnterFrame;
        }
}

function show():Void
{
        this._alpha += 5;
        if (this._alpha >= 100) {
                delete this.onEnterFrame;
        }
}

button.onRollOver = function()
{
        myClip.onEnterFrame = hide;
};

button.onRollOut = function()
{
        myClip.onEnterFrame = show;
};


Flazhok 28.09.2008 22:13

Мега спасибо!!!!!!!!!!
Клипец стал работать как нужно!
Респект, Mur4ik!:yahoo:

Flazhok 28.09.2008 23:00

+ вопрос:
А можно ли сделать, чтобы картинка не исчезала, а допустим - расплывалась? Что применить вместо alpha?


Часовой пояс GMT +4, время: 10:51.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.