我在2D射击游戏上工作,屏幕上有许多移动物体(子弹等).
我使用BitmapData.copyPixels(...)将整个屏幕渲染到缓冲区:BitmapData.然后我从"缓冲区""copyPixels"到屏幕:BitmapData.帧率为60.
private var bitmap:Bitmap = new Bitmap();
private var buffer:Bitmap = new Bitmap();
private function start():void {
addChild(bitmap);
}
private function onEnterFrame():void {
// render into "buffer"
// copy "buffer" -> "bitmap"
}
Run Code Online (Sandbox Code Playgroud)
问题是精灵正在撕裂:精灵的某些部分水平移动.
它看起来像是关闭了VSYNC的PC游戏.
有人解决了这个问题吗?
更新:问题不是关于性能,而是关于摆脱屏幕撕裂.
[!]更新:我已经创建了另一个问题,在这里您可以尝试两种实现:使用Flash方式或BitmapData + copyPixels()