Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.09.2008, 19:58
Flazhok вне форума Посмотреть профиль Отправить личное сообщение для Flazhok Найти все сообщения от Flazhok
  № 1  
Ответить с цитированием
Flazhok
 
Аватар для Flazhok

Регистрация: Sep 2008
Адрес: Владивосток
Сообщений: 19
Question Постепенное исчезновение и появление объекта при наведении курсора.

Всем привет!!!
Столкнулся с небольшой проблемкой...
Написал код, для исчезновения-появления клипа, при наведении курсора на кнопку:
Код:
button.onRollOver = function() {
	this._parent.myClip._alpha-= 10;;
};
button.onRollOut = function() {
	this._parent.myClip._alpha+= 10;
};
Дело в том, что нужно, чтобы при наведении курсора на кнопку - клип постепенно исчезал, а при убирании - появлялся обратно, так же плавно. А у меня он исчезает мигом до -10, а потом появляется в обратку без плавности. Что исправить в этом коде, что бы клип исчезал полностью плавно и вновь появлялся при убирании мышки?

Старый 28.09.2008, 20:06
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 2  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
При наведении мышки на объект событие onRollOver/onRollOut срабатывает всего один раз...

Создайте функции исчезновения/появления клипа и внутри обработчиков вызывайте соответствующую функцию.
Или в крайнем случае сделайте уменьшение/увеличение прозрачности в цикле в коде обработчиков.
Но лучше, конечно, определить нужные функции.
__________________
trace("Остановите Землю, я сойду!!!");

Старый 28.09.2008, 20:20
Flazhok вне форума Посмотреть профиль Отправить личное сообщение для Flazhok Найти все сообщения от Flazhok
  № 3  
Ответить с цитированием
Flazhok
 
Аватар для Flazhok

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

Старый 28.09.2008, 20:33
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 4  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
давайте лучше вместе с Вами это сделаем...
Что именно Вам не понятно?
Понятие функции знакомо Вам?
Сможете сами создать функцию?
В теле функции Вам нужно в цикле уменьшать или увеличивать значение _alpha?
т.е Вы правильно делали, только нужно эти действия повторить несколько раз чтоб объект полностью стал прозрачным, для этого нужно использовать цикл...

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

Если не будет получатся, будем дальше разжевывать
__________________
trace("Остановите Землю, я сойду!!!");

Старый 28.09.2008, 20:51
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 5  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
Общий смысл такой:
Код:
function hide():Void
{
    // к клипу над которым сейчас мышка можно здесь обратиться как this
    // здесь код исчезновения клипа
}

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

button.onRollOver = hide;

button.onRollOut = show;
__________________
trace("Остановите Землю, я сойду!!!");


Последний раз редактировалось Mur4ik; 28.09.2008 в 20:54.
Старый 28.09.2008, 21:04
Flazhok вне форума Посмотреть профиль Отправить личное сообщение для Flazhok Найти все сообщения от Flazhok
  № 6  
Ответить с цитированием
Flazhok
 
Аватар для Flazhok

Регистрация: Sep 2008
Адрес: Владивосток
Сообщений: 19
Теоритически я знаком с функциями, могу скопировать - вставить куда нужно. А вот создавать их и сами их значения я не знаю. И как их циклить тоже.
Я привязал пример, того, что я делаю. Посмотрите-подскажите, пожалуйста, что там не так и как сделать, чтоб оно все-таки плавно исчезало?.. И как создавать циклы?, чтобы я выучил уже раз и навсегда!
Вложения
Тип файла: rar Исчезни плавно).rar (6.5 Кб, 245 просмотров)

Старый 28.09.2008, 21:18
Flazhok вне форума Посмотреть профиль Отправить личное сообщение для Flazhok Найти все сообщения от Flazhok
  № 7  
Ответить с цитированием
Flazhok
 
Аватар для Flazhok

Регистрация: Sep 2008
Адрес: Владивосток
Сообщений: 19
Сделал так:
Код:
function hide():Void
{
      this.myClip;
     _alpha-= 50;
}

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

button.onRollOver = hide;

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


Последний раз редактировалось Flazhok; 28.09.2008 в 21:42.
Старый 28.09.2008, 21:56
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 8  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
а какой смысл в строчке 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;
};
__________________
trace("Остановите Землю, я сойду!!!");

Старый 28.09.2008, 22:13
Flazhok вне форума Посмотреть профиль Отправить личное сообщение для Flazhok Найти все сообщения от Flazhok
  № 9  
Ответить с цитированием
Flazhok
 
Аватар для Flazhok

Регистрация: Sep 2008
Адрес: Владивосток
Сообщений: 19
Мега спасибо!!!!!!!!!!
Клипец стал работать как нужно!
Респект, Mur4ik!

Старый 28.09.2008, 23:00
Flazhok вне форума Посмотреть профиль Отправить личное сообщение для Flazhok Найти все сообщения от Flazhok
  № 10  
Ответить с цитированием
Flazhok
 
Аватар для Flazhok

Регистрация: Sep 2008
Адрес: Владивосток
Сообщений: 19
+ вопрос:
А можно ли сделать, чтобы картинка не исчезала, а допустим - расплывалась? Что применить вместо alpha?

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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