我正在创建一个在 Android 上使用的简单绘图原型,用户可以在其中拖动手指在屏幕上绘制基本线条/形状等。在相同区域上绘制时我遇到了一些性能问题,一段时间后性能下降相当。
我想知道是否有任何方法可以在绘制线条之后(在触摸开始、触摸移动和触摸结束事件链之后)将新绘制的线条存储到包含其余绘图的位图中。
我已经看过了,bitmap.merge()
但这会在混合颜色时产生问题。我只是希望将任何新的“绘图”保存在之前绘制的所有内容之上。
// To hold current 'drawing'
var clip:Shape = new Shape();
// To hold past 'drawings'
var drawing:Bitmap = new Bitmap();
public function Main()
{
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
addChild(drawing);
addChild (clip);
addEventListener(TouchEvent.TOUCH_BEGIN, tBegin);
addEventListener(TouchEvent.TOUCH_MOVE, tMove);
addEventListener(TouchEvent.TOUCH_END, tEnd);
}
private function tBegin(e:TouchEvent):void
{
clip.graphics.lineStyle(28,0x000000);
clip.graphics.moveTo(mouseX, mouseY);
}
private function tMove(e:TouchEvent):void
{
clip.graphics.lineTo(mouseX, mouseY);
}
private function tEnd(e:TouchEvent):void
{
// Save new graphics and merge with drawing
}