saat menelusuri koordinat mouseX / mouseY
atau localX / localY
dari objek tampilan , mengapa x
dimulai dari 1 sedangkan y
dimulai dari 0?
misalnya, saya telah menggambar sprite 400 x 400 piksel sederhana ke atas panggung dengan MouseEvent.MOUSE_MOVE
event listener yang memanggil fungsi handler untuk melacak koordinat lokal mouse.
piksel kiri atas pertama {x: 1, y: 0}
dan terakhir, piksel kanan bawah kembali {x: 400, y: 399}
. Bukankah seharusnya x
dan y
dimulai dan diakhiri dengan nilai yang sama? saya tidak yakin mana yang lebih masuk akal untuk koordinat mouse pertama (entah 0 atau 1) tetapi yang pasti tidak masuk akal bahwa mereka berbeda?
[SWF(width = "1000", height = "600", backgroundColor = "0xCCCCCC")]
import flash.display.Sprite;
import flash.events.MouseEvent;
var darkBlueRect:Sprite = createSprite();
darkBlueRect.x = 23;
darkBlueRect.y = 42;
addChild(darkBlueRect);
darkBlueRect.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveEventHandler);
function mouseMoveEventHandler(evt:MouseEvent):void
{
trace(darkBlueRect.mouseX, evt.localX, darkBlueRect.mouseY, evt.localY);
}
function createSprite():Sprite
{
var result:Sprite = new Sprite();
result.graphics.beginFill(0x0000FF, 0.5);
result.graphics.drawRect(0, 0, 400, 400);
result.graphics.endFill();
return result;
}