关于淡入淡出和淡出的非常简单的问题

时间:2010-02-10 22:30:01

标签: actionscript-3 fadein fadeout

非常简单的问题。看看下面的代码。这是一个带进度条的非常简单的装载机。进度条是舞台上的一个符号“bar”。

我想要的只是在完成加载时淡出标尺,并淡化加载的图像。我尝试了很多方法而没有太多运气。

    var loader: Loader = new Loader();
addChild(loader);

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
function completeHandler(evt:Event):void {
};

loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);

function progressHandler(evt:ProgressEvent):void {
    var percent: int = Math.round(evt.bytesLoaded/ evt.bytesTotal * 100);
    bar.width = percent;
};

var req:URLRequest = new URLRequest("encs1.jpg");

loader.load(req);

提前感谢任何能给我任何指示的人!

2 个答案:

答案 0 :(得分:1)

我并没有真正做很多flash开发,但是我的同事喜欢GTween以获得简单的动画效果。

http://www.gskinner.com/libraries/gtween/

如果您检查演示,您将看到您可以做一些高级的东西,但是假设进行基本淡入淡出也很简单。下面是基本动画的示例,将vars itemToTween,secondsToAnimate和更改alpha设置为您希望为当前属性设置动画的属性。

new GTween(itemToTween, secondsToAnimate, { alpha: 1 }, { ease:Sine.easeOut } );

希望能帮到你一点点,直到有更多知识的人可以提供帮助。

答案 1 :(得分:1)

GTween

Tweener

TweenLite

尝试其中一个库。 Flash有一个用于补间,fl.transitions.Tween的内置库,但它不如这些好。提到的所有三个都有一个非常相似的API。

对于你的例子,你会这样做(使用Tweener):

function completeHandler(evt:Event):void {
    Tweener.addTween(bar, {alpha:0, transtion:"easeOutQuad", time:.5});
    addChild(loader.content);
    loader.content.alpha = 0;
    Tweener.addTween(loader.content, {alpha:1, transition:"easeInOutQunit", time:.5, delay:.5});  
};

这将在条形码到alpha 0之间占用0.5秒,在加载器的内容(图像)之间补间到alpha 1,耗时0.5秒,延迟0.5秒,所以条形淡出,图像立即消失英寸

Cheat Sheet for Tweener easing functions

相关问题