flash - as3,flash fl 补间过渡卡住

标签 flash actionscript-3 actionscript tween

我在不同的影片剪辑中使用了一堆不同的补间,但似乎有时补间会在转换过程中卡住。

这个人也遇到了同样的问题,他的问题得到了解答,但我不太清楚当他们告诉他该怎么做时他们到底是什么意思:http://www.actionscript.org/forums/showthread.php3?t=222606

我是否必须在网站的根目录开头导入补间类,然后在每个影片剪辑中引用这些类,而不是分别导入每个影片剪辑中的类?

这是我的一个影片剪辑中的补间示例:

// Import classes
import fl.transitions.Tween;
import fl.transitions.easing.*;

// Bring in elements with tweening
var bandY:Tween = new Tween(band, "y", Strong.easeOut, 533, 259, 3, true);
var boxY:Tween = new Tween(box, "y", None.easeOut, -122, 0, 1, true);
var signY:Tween = new Tween(sign, "y", Regular.easeOut, 551, 224, 1.5, true);
var signX:Tween = new Tween(sign, "x", Regular.easeOut, -17, 82, 1.5, true);
var dragonMaskWidth:Tween = new Tween(dragonMask, "width", Regular.easeOut, 30, 500, 3, true);

最佳答案

您引用的论坛中的帖子的意思是他们 OP 应该尝试为补间创建非局部变量。所以,不要这样做

function onClick(e:MouseEvent):void
{
    nextPage = e.currentTarget.mcTarget;
    var theTween:Tween = new Tween(currentPage,"alpha",Strong.easeOut,1,0,1,true);
    theTween.addEventListener(TweenEvent.MOTION_FINISH, onTween);
}

他们说尝试一下:

var theTween:Tween;  
function onClick(e:MouseEvent):void
{
    nextPage = e.currentTarget.mcTarget;
    theTween = new Tween(currentPage,"alpha",Strong.easeOut,1,0,1,true);
    theTween.addEventListener(TweenEvent.MOTION_FINISH, onTween);
}

通过这样做,变量“theTween”的作用域不再是 onClick 事件处理函数的本地作用域,而是与函数本身处于同一作用域中。

我最大的建议是尝试使用不同的补间库,那里有很多。恕我直言,Flash 中用于补间的内置库还有很多不足之处。我会看一下其中的一个或多个:

TweenLite

Tweener

GTween

AS3 Animation System

还有很多……看看吧

关于flash - as3,flash fl 补间过渡卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134157/

相关文章:

javascript - 在 Actionscript3 和 Javascript 中使用代码

java - 是否有任何好的 API 可以维持 Flash <--> Java 之间的开放连接

jquery - 带有 flash 的隐藏 DIV 不会用 jQuery 显示

apache-flex - 使用 AS3 读取简单的 INI 文件

actionscript-3 - 将 Adob​​e Air 打包为 Exe

python - 如何在 ActionScript 中生成 python/ruby/javascript 样式生成器?

apache-flex - 用简单的英语解析持续时间

flash - Adobe AIR 512x512 图标?

用于 Android 开发的 Flash 与 Flex

actionscript-3 - ActionScript 3.0-ByteArray中的空字节