Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Phaser中的多边形区域内约束精灵_Javascript_Phaser Framework - Fatal编程技术网

Javascript 在Phaser中的多边形区域内约束精灵

Javascript 在Phaser中的多边形区域内约束精灵,javascript,phaser-framework,Javascript,Phaser Framework,我正在创建一个点击点冒险游戏。我有一个角色在这个区域行走,但我不确定如何限制他的脚可以冒险到哪里。在所附的图片中,他的脚是黄色的,但我不能让他走出地板上的蓝色多边形区域 你有什么想法可以让它工作吗?请记住,我正在为用户单击屏幕时的角色创建一个tween。如果他撞到多边形外的区域,将使玩家(粉红色矩形)停止 我试过街机物理,但那只适用于基于正方形的精灵。我想我得用物理?我可以在形状上使用p2物理,或者像多边形区域这样的简单线吗 您不需要使用任何相位器物理引擎来处理此问题,您可以使用多边形几何体对象

我正在创建一个点击点冒险游戏。我有一个角色在这个区域行走,但我不确定如何限制他的脚可以冒险到哪里。在所附的图片中,他的脚是黄色的,但我不能让他走出地板上的蓝色多边形区域

你有什么想法可以让它工作吗?请记住,我正在为用户单击屏幕时的角色创建一个tween。如果他撞到多边形外的区域,将使玩家(粉红色矩形)停止

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


您不需要使用任何相位器物理引擎来处理此问题,您可以使用多边形几何体对象来执行此操作,只需检查单击是否在多边形内即可

以下是一个在线示例:

但是代码非常简单。首先创建一个多边形(请注意重叠点和多边形缠绕的方式,有关详细信息,请参见文档):

然后检查他们是否在其中单击:

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