我在不同的影片剪辑中使用了一堆不同的补间,但似乎有时补间会在转换过程中卡住。
这个人也遇到了同样的问题,他的问题得到了解答,但我不太清楚当他们告诉他该怎么做时他们到底是什么意思: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 中用于补间的内置库还有很多不足之处。我会看一下其中的一个或多个:
还有很多……看看吧
关于flash - as3,flash fl 补间过渡卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134157/