0

很简单的问题。看看下面的代码。这是一个带有进度条的非常简单的加载器。进度条是舞台上的一个符号,叫做“条”。

我想要的只是在完成加载时淡出栏,并淡入加载的图像。我尝试了多种方法,但运气不佳。

    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);

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

4

2 回答 2

1

我并没有真正做太多的 Flash 开发,但我的一个同事喜欢 GTween 的简单动画。

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

如果你查看演示,你会发现你可以做一些高级的东西,但假设做基本的淡入和淡出也很简单。下面是一个基本动画示例,设置变量 itemToTween、secondsToAnimate 并将 alpha 更改为您希望为当前属性设置动画的属性。

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

希望对您有所帮助,直到有更多知识的人可以提供帮助。

于 2010-02-11T00:01:53.593 回答
1

吐温

吐温

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});  
};

这将在延迟 0.5 秒后将条形图补间到 alpha 0 需要 0.5 秒,将加载程序的内容(图像)补间到 alpha 1 需要 0.5 秒,因此条形图会淡出并立即图像淡入。

Tweener 缓动功能的备忘单

于 2010-02-11T02:39:05.770 回答