0

在根上:

我有树夹 我有切割夹

而树剪辑有分支网格(点)作为它的孩子

当我单击一次时,我在切割器和每个点(树子)之间得到了 hitTest,但是 x,y 坐标非常不同,例如

如果切割器打开:275、267,那么它会受到点的命中测试:命中:-306.8、-118.35

我应该如何使它类似于匹配它击中唯一的网格。 注意:当 hitTest 发生时,它会击中大部分网格,我正在尝试获取位于刀具边缘下方的点。

我试图减去 x,y 值以使它们紧密匹配,但是单击不同的点在 y 坐标上总是有 3-5 像素或 10-15 像素的差异

谢谢,纳吉姆。

4

2 回答 2

1

由于点是另一个影片剪辑的一部分,而切割器不是,因此您需要转换点的坐标。最简单的方法是使用 localToGlobal() 或 globalToLocal() 来转换刀具的坐标。尝试 Adob​​e 文档以获取有关如何使用这些功能的更多信息...

于 2012-10-24T16:46:58.440 回答
0

谢谢@Rizzla,

import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
square.x = 100;
square.y = 200;

addChild(square);

square.addEventListener(MouseEvent.CLICK, traceCoordinates)

function traceCoordinates(event:MouseEvent):void {
    var clickPoint:Point = new Point(square.mouseX, square.mouseY);
    trace("display object coordinates:", clickPoint);
    trace("stage coordinates:", square.localToGlobal(clickPoint));
}
于 2012-10-25T07:13:30.007 回答