我在不同的电影剪辑中有很多不同的补间,但似乎有时补间会在我的过渡期间中途冻结。
这家伙遇到了同样的问题,他的问题得到了解答,但是当他们告诉他该做什么时,我不太确定他们的意思: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);
答案 0 :(得分:4)
在您引用的论坛中,帖子的含义是他们应该尝试为补间创建非局部变量。所以,而不是这样做
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事件处理函数的本地范围,而是与函数本身在同一范围内。
我最大的建议是尝试使用不同的补间库,那里有TONS。在闪存中补间的内置库留下了很多需要恕我直言。我会看一下这些中的一个或多个:
还有更多......只是看看
答案 1 :(得分:0)
实际上,我弄明白了另一个人在说什么。 我必须将补间变量移到函数之外,这是有道理的。 起初他们的代码很难看出差异。 还意识到这是一个糟糕的示例代码,因为没有功能。