在ActionScript 3中淡入淡出

时间:2014-03-06 15:55:03

标签: actionscript-3 flash actionscript

我是ActionScript 3的新手,我遇到了一个基本问题。我试图淡化我的一个变量,但它只是淡入。它是补间3。你能帮忙吗?

import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.events.TimerEvent;
import fl.transitions.TweenEvent;

var timer:Timer = new Timer(3000);

timer.start();

var tween2:Tween = new Tween(main, "x", Strong.easeOut, main.x, 0, 2, true);
var tween1:Tween = new Tween(his, "alpha", None.easeOut, 1, 0, 1, true);
var tween3:Tween = new Tween(her, "alpha", Strong.easeInOut, 0, 1, 2, true);
var tween4:Tween = new Tween(gilt, "alpha", Strong.easeIn, 0, 1, 2, true);

tween1.stop();
tween2.stop();
tween3.stop();
tween4.stop();

timer.addEventListener(TimerEvent.TIMER, startTween);

function startTween(event:TimerEvent):void {

tween1.start();
tween2.start();
tween3.start();
tween4.start();
}

timer.addEventListener(TimerEvent.TIMER, stopTimer);

function stopTimer(event:TimerEvent):void {
timer.stop();
}

2 个答案:

答案 0 :(得分:-1)

您可以使用TweenMax框架而不是tween3,因为Tweenmax有很多功能(有时候比Flash时间线更好),这也是您的解决方案:

var t:TweenMax = new TweenMax(main,1,{ x: 100, delay:1,ease: Strong.easeOut });
t.start();

stage.addEventListener(MouseEvent.CLICK, onClickedStage);

function onClickedStage(event:MouseEvent):void 
{
   t.stop();
}

答案 1 :(得分:-1)

以下是一些代码的示例,或多或少地执行了您要执行的操作。我相信你可以从中学习并适应你的代码。

要测试我的代码制作三个MovieClip并将'em放在舞台上,实例名称'boxA','boxR'和'blackbtn'单击按钮将启动计时器和补间。在我的例子中,'boxes'在一个数组中,并且补间是在'for'循环中创建的,但当然,它们不一定是。

import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.events.TimerEvent;

var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, timerListener);

blackbtn.addEventListener(MouseEvent.CLICK, startit)

var A:Array = new Array();
A.push(boxB); A.push(boxR);

function timerListener(e)
{
    for(var i:int = 0; i < A.length; i++) 
    {
        new Tween(A[i], "alpha", Regular.easeOut, 1, 0, 1, true);
    }
}

function startit(e)
{
    timer.start();
}