不使用BitmapData.draw()
; 是否可以停止渲染显示列表,并在我认为合适时执行渲染(无论是整个显示列表还是单个显示对象)。
如果不是,那么实现此目的的最佳方法是什么(包括我BitmapData.draw()
用来渲染尚未添加到舞台的 DisplayObjects 的选项)?
不使用BitmapData.draw()
; 是否可以停止渲染显示列表,并在我认为合适时执行渲染(无论是整个显示列表还是单个显示对象)。
如果不是,那么实现此目的的最佳方法是什么(包括我BitmapData.draw()
用来渲染尚未添加到舞台的 DisplayObjects 的选项)?
您可以在鼠标/键盘事件后使用 强制渲染e.updateAfterEvent()
,但不能阻止显示列表重绘到屏幕。你最好的选择是:
holder
Sprite 中,该 Sprite 不在舞台显示列表中。Bitmap
和关联BitmapData
到舞台。draw()
,它将被通常操作的完全相同的渲染器光栅化。只是您可以更好地控制光栅化设置。holder
BitmapData
请尝试以下操作,或查看此以获取更多信息:
function snapClip( clip:DisplayObject ):BitmapData
{
var bounds:Rectangle = clip.getBounds( clip );
var bitmap:BitmapData = new BitmapData( int( bounds.width + 0.5 ), int( bounds.height + 0.5 ), true, 0 );
bitmap.draw( clip, new Matrix(1,0,0,1,-bounds.x,-bounds.y) );
return bitmap;
}