我开始使用AS3的Tween功能,但偶尔会注意到一些奇怪的行为。基本上,它在完成补间之前就冻结了。
这个网站似乎提供了解决方案:http://www.rgbeffects.com/blog/actionscript/tween-freeze-frustrations-avoid-actionscript-tweens-stalling-out/
我的程序要求每次都能精确地旋转补间。我喜欢使用adobe放在适当位置的函数,但这让我很紧张,因为它有这么大的问题。
我应该使用as3的补丁,还是像greensock.com的TweenLite这样的外部补丁?
哪一个更可靠?
发布于 2011-07-07 14:07:42
您的补间实例最有可能被过早地进行垃圾回收,因为您没有在某个地方存储对它的引用。这是一个常见的错误,你可以很容易地搜索到。
解决方案:在补间实例执行动画时存储对该实例的引用,以便从GC中保存该引用。
有关详细说明,请访问链接:AS3 Garbage Collection, the reason your tweens are ending early。
Official article on adobe.com也提到了这个问题(参见文章底部的注释):
注意:使用补间类时,请考虑变量作用域。如果补间是在函数中创建的,那么重要的是变量的作用域存在于函数本身之外。如果补间存储到本地作用域的变量中,则ActionScript垃圾回收会在函数完成时删除补间,这很可能是在补间开始之前。
如果你想了解更多关于GC逻辑的知识,这里有some links on garbage collecting。
https://stackoverflow.com/questions/6605424
复制相似问题