如何检查鼠标是否在Flash中的形状上

时间:2013-05-01 13:35:09

标签: actionscript-3 flash

我正在AS3中构建一个简单的Flash游戏,我想知道我是否可以使用类似于" hitTestPoint()"的代码。除了它适用于形状而不是符号?

迷宫只是一个线形,所以如果球移出形状,游戏就会终止。这可能吗?

谢谢, 彼得

3 个答案:

答案 0 :(得分:0)

根据游戏的外观,您也可以使用坐标。

告诉游戏玩家> 100 Y它是关闭游戏的限制=重启。

它可能不是最坚固的解决方案,但它确定是一种解决方法,因为我不相信它有功能,如果我错了请纠正我。

答案 1 :(得分:0)

如果将迷宫分成较小的符号,AS3 Collision Detection Kit将允许您根据颜色检测命中。

答案 2 :(得分:0)

足够简单。只要测试是否在球的当前位置找到迷宫。

function test():Boolean {
    // First we get the absolute coordinates of the ball
    var loc:Point = ball.localToGlobal(new Point(0,0));
    // Next we collect all the DisplayObjects at that coordinate.
    var stack:Array = getObjectsUnderPoint(loc);
    var found:Boolean = false;

    // Now we cycle through the array looking for our maze
    for each (var item in stack) {
        if (item.name == "mazeShape") {
            found = true;
        }
    }

    return found;
}

如果你真的对鼠标(而不是球)是否离开迷宫感兴趣,只需用第一行代替:

var loc:Point = new Point(mouseX, mouseY);