在Phaser

时间:2015-06-09 15:09:09

标签: javascript phaser-framework

我正在创建一个点击和点冒险游戏。我有一个角色走在该地区,但我不确定如何约束他的脚可以冒险的地方。在附图中,我的脚是黄色的,但我不能让他走到地板上的蓝色多边形区域之外。

有关如何使这项工作的任何想法?请记住,我正在创建一个补间,以便在用户单击屏幕时跟随该角色。如果他碰到多边形之外的区域,它将使玩家(粉红色矩形)停止。

我尝试过街机物理,但这只适用于基于方形的精灵。我想我必须使用p2物理?我可以在形状上使用p2物理,还是像多边形区域那样使用简单的线?

enter image description here

1 个答案:

答案 0 :(得分:2)

您不需要使用任何Phasers物理引擎来处理此问题,您可以使用Polygon几何对象来执行此操作,并检查点击是否在多边形内。

以下是一个在线示例:http://phaser.io/examples/v2/geometry/polygon-contains

但代码很简单。首先创建一个多边形(注意重叠点和多风的方式,详见文档):

    poly = new Phaser.Polygon([ new Phaser.Point(200, 100), new Phaser.Point(350, 100), new Phaser.Point(375, 200), new Phaser.Point(150, 200) ]);

然后检查他们是否已点击其中:

if (poly.contains(game.input.x, game.input.y))
{
    // allow walk
}