下面是一张图片,解释了我所拥有的:
棕色方块是我添加的 Sprite 的本地来源。(我无法更改图形!)
如何获得 Flash AS3 中两点之间的 X 和 Y 距离?或者我如何以编程方式将原点移动到左上角?
下面是一张图片,解释了我所拥有的:
棕色方块是我添加的 Sprite 的本地来源。(我无法更改图形!)
如何获得 Flash AS3 中两点之间的 X 和 Y 距离?或者我如何以编程方式将原点移动到左上角?
只需使用getBounds(),它包含您需要的一切。
一个例子 :
package
{
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;
public class TestSquare extends Sprite
{
public function TestSquare()
{
var squareMc : Sprite = new Sprite;
squareMc.graphics.lineStyle(5);
squareMc.graphics.beginFill(0xFFAAAA);
squareMc.graphics.drawRect(-20,-20,100,100);
squareMc.graphics.endFill();
addChild(squareMc);
squareMc.addEventListener(MouseEvent.CLICK, onClick);
}
protected function onClick(event:MouseEvent):void
{
// Cancel offset
var squareMc : DisplayObject = event.target as DisplayObject;
squareMc.x = -getTopLeftOffset(squareMc).x;
squareMc.y = -getTopLeftOffset(squareMc).y;
}
// return top left offset
public function getTopLeftOffset(target : DisplayObject) : Point
{
return target.getBounds(target).topLeft
}
}
}