Просмотр полной версии : Скажите как организовать плавное появление
motoroller
13.01.2011, 19:12
Есть мувик на сцене по наведению хочется не просто visible
а допустим за пол секунды ...
Contemplator
13.01.2011, 19:19
Есть мувик на сцене по наведению хочется не просто visible
а допустим за пол секунды ...
alpha чем не подходит? =)
drnet_ua
13.01.2011, 19:23
спросите гугль про TweenMax
motoroller
13.01.2011, 19:27
Альфа и подходит
но чтобы не сразу а плавно ....
спросите гугль про TweenMax
Для такого и TweenLite хватит, и даже TweenNano.
motoroller
13.01.2011, 20:04
private function showMenu(event:MouseEvent):void {
TweenMax.to(menu, 1, {alpha:1});
//menu.visible=true;
}
private function hideMenu(event:MouseEvent):void {
TweenMax.to(menu, 1, {alpha:0});
}
Странное поведение
при showMenu меню появляется сразу
а про hideMenu работает нормально ...
скажите в чем может быть проблема
Добавлено через 12 минут
Или может быть проблема в том что у меня мышка на объекта это функция срабатывает постоянно?
Добавлено через 13 минут
странное поведение:
private function showMenu(event:MouseEvent):void {
trace('xx') // выводит три раза :(
TweenLite.to(menu, 1, {alpha:1});
}
Добавлено через 13 минут
странное поведение:
private function showMenu(event:MouseEvent):void {
trace('xx') // выводит три раза :(
TweenLite.to(menu, 1, {alpha:1});
}
На какое событие вешаешь? Надо на RollOver/RollOut. И еще может TweenLite.killTweensOf(menu); добавить надо.
DZHETIGAPA
14.01.2011, 00:42
Предыдущий комментарий имеет истину насчет TweenLite.killTweensOf(menu).
Но, думаю, проблема в событиях. У меня аналогичный код работает нормально.
drnet_ua
14.01.2011, 11:15
package
{
import com.greensock.TweenLite;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
/**
* ...
* @author drnet_ua
*/
public class Main extends Sprite
{
private var btn:Sprite
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
btn = new Sprite();
btn.graphics.beginFill(0xFF0000);
btn.graphics.drawRoundRect(0, 0, 200, 50, 15, 15);
btn.graphics.endFill();
btn.x = 100;
btn.y = 100;
btn.addEventListener(MouseEvent.ROLL_OVER, onRollOver);
btn.addEventListener(MouseEvent.ROLL_OUT, onRollOut);
btn.addEventListener(MouseEvent.CLICK, onClick);
btn.alpha = .2;
addChild(btn);
}
private function onRollOver(e:MouseEvent):void {
TweenLite.to(btn, 1, { alpha:1 } );
}
private function onRollOut(e:MouseEvent):void {
TweenLite.to(btn, 1, { alpha: .2 } );
}
private function onClick(e:MouseEvent):void {
}
}
}
все прекрасно работает.
по личному опыту - твинМакс как-то веселее работает в случае если в процессе одного твина обьекту добавляется второй :)
motoroller
14.01.2011, 17:00
Спасибо большое
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.