来自更“传统”的C++ 背景,因此更习惯于处理低级 API,而不是像 flash.display API 这样的东西。
我的问题相当初级,但我的搜索没有找到解决方案。
如何避免显示 API 中的屏幕撕裂/闪烁?即使像 60 fps 这样的高帧率,我也会在帧之间遇到一些相当讨厌的闪烁/撕裂。
以下面的简单示例为例,其中 Sprite 的子项只是 Shape 的实例并且永远不会改变。
private function onEnterFrame(event:Event):void
{
var t:Number = (getTimer() - time) / 1000;
time = getTimer();
step(t);
}
private function step(t:Number):void {
var speed:Number = 100;
for (var i:uint = 0; i < numChildren; i++){
getChildAt(i).x += speed * t;
getChildAt(i).y += speed * t;
}
}
然而,由于其他人都能够做出看似流畅的快速动画,我对实际上是如何做到的有点困惑,因为它基本上看起来像是一个同步问题。