0
我有一個MovieClip。它代表跳躍怪物的動畫。爲了清楚起見,讓我們假設只有2個幀:第一個佔據左上矩形(x = 0,y = 0,w = 70,h = 70),第二個佔據(x = 100,y = 0,w = 70,h = 70)。所以怪物從左邊跳到右邊。並且MovieClip本身的位置不斷=(0,0)。 我想用鼠標點擊怪物時觸發一些事件。Actionscript 3.0 MovieClip命中測試
由於某種原因,我有階段鼠標監聽器,而不是怪物鼠標監聽器。 我寫了這個代碼:
stage.addEventListener(MouseEvent.CLICK, onClick);
private final function onClick(e:MouseEvent):void
{
const clickPos:Point = new Point(e.stageX, e.stageY);
// having monster:MovieClip, how do I check hitting it?
// code below doesn't work
// const r:Rect = new Rectangle(monster.x, monster.y,
// monster.width, monster.height);
// const hitTest:Boolean = r.containsPoint(stagePoint);
// because r is always (0,0,70,70)
}
哎呀,似乎有點複雜。 hitTestPoint(「shapeFlag」)的第三個參數僅適用於矢量圖形。但我的怪物的框架是光柵。因此,即使點擊了我的怪物的透明像素,hitTestPoint也會觸發。我該如何解決它? – Nick