我創建了一個MOUSE_MOVE的MouseEvent和代碼,而我將鼠標光標移動到畫圈圈。問題是,如果我移動鼠標太快,它不會畫出每一個圓圈。 光標移動太快代碼閱讀
這裏是我對MOUSE_MOVE事件的代碼。
stage.addEventListener(MouseEvent.MOUSE_MOVE, mCursor);
public function mCursor(e:MouseEvent):void
{
var cursor:Shape = new Shape();
cursor.graphics.beginFill(1, 1);
cursor.graphics.drawCircle(e.stageX, e.stageY, 10);
cursor.graphics.endFill();
addChild(cursor);
}
會不會有一個算術等式或物理公式將它添加每一個圓,使得它可以畫一條直線之間沒有空白?
嘗試使用像素(位圖數據),使得繪圖應用程序時,不形狀。所有這些'addChild(cursor);'可能會減慢系統,如果你添加太多內存。 –
是否有使用位圖數據的教程?我不太熟悉它,因爲形狀是基本理解的 – Zulu
這裏有很多教程。你目前的問題是'cursor'是一個變量。添加的每個圖形都在系統中創建多個**變量**。創建一個具有特定寬度和高度的空白位圖數據,然後使用setpixel(它只是在畫布中的特定座標處更改顏色),這種方式您不會不斷添加,但只需編輯一定數量。如果你需要特定的圓形/大小,那麼可能首先''繪製'它作爲'cursor_BMP',然後''rubberstamp''canvas_BMP'周圍的像素。 –