PDA

Просмотр полной версии : Скажите как организовать плавное появление


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
Альфа и подходит
но чтобы не сразу а плавно ....

Roma84
13.01.2011, 19:54
спросите гугль про 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});
}

Roma84
13.01.2011, 20:57
Добавлено через 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
Спасибо большое