Javascript 在Phaser中的多边形区域内约束精灵
我正在创建一个点击点冒险游戏。我有一个角色在这个区域行走,但我不确定如何限制他的脚可以冒险到哪里。在所附的图片中,他的脚是黄色的,但我不能让他走出地板上的蓝色多边形区域 你有什么想法可以让它工作吗?请记住,我正在为用户单击屏幕时的角色创建一个tween。如果他撞到多边形外的区域,将使玩家(粉红色矩形)停止 我试过街机物理,但那只适用于基于正方形的精灵。我想我得用物理?我可以在形状上使用p2物理,或者像多边形区域这样的简单线吗Javascript 在Phaser中的多边形区域内约束精灵,javascript,phaser-framework,Javascript,Phaser Framework,我正在创建一个点击点冒险游戏。我有一个角色在这个区域行走,但我不确定如何限制他的脚可以冒险到哪里。在所附的图片中,他的脚是黄色的,但我不能让他走出地板上的蓝色多边形区域 你有什么想法可以让它工作吗?请记住,我正在为用户单击屏幕时的角色创建一个tween。如果他撞到多边形外的区域,将使玩家(粉红色矩形)停止 我试过街机物理,但那只适用于基于正方形的精灵。我想我得用物理?我可以在形状上使用p2物理,或者像多边形区域这样的简单线吗 您不需要使用任何相位器物理引擎来处理此问题,您可以使用多边形几何体对象
您不需要使用任何相位器物理引擎来处理此问题,您可以使用多边形几何体对象来执行此操作,只需检查单击是否在多边形内即可 以下是一个在线示例: 但是代码非常简单。首先创建一个多边形(请注意重叠点和多边形缠绕的方式,有关详细信息,请参见文档): 然后检查他们是否在其中单击:
if (poly.contains(game.input.x, game.input.y))
{
// allow walk
}
if (poly.contains(game.input.x, game.input.y))
{
// allow walk
}