我自己在Phaser js中创建了一个小型的2-minecraft克隆作为学习经验。到目前为止,我已经获得了玩家移动和随机级种子才能正常工作。
我正在使用Phasers P2JS引擎并且具有基于盒子的精灵。我现在正在努力奋斗的是我希望玩家能够不受阻碍地走在小高地上(1瓦高),但我不知道应该如何实现这一点。
我已经尝试更改播放器的边界框,使其底部有一个斜坡,但这会让我遇到一堆爬墙问题。我想要一种尽可能无缝的方法来做到这一点。优选地,通过攀爬步骤不会改变玩家的速度。
我正在编写某种碰撞检测功能来处理这个问题,但我不确定这是否是最好的方法。
感谢您的帮助。
下面是我的代码和图片,显示了我想要走的那一步。它是图像左侧的第一个高程。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="/ch" docBase="ch">
<Resource name="jdbc/bbDataSource"
auth="Container"
type="javax.sql.DataSource"
username="********"
password="********"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://x:3306/x?zeroDateTimeBehavior=convertToNull"/>
</Context>
</Host>
=====================编辑=====================
我现在尝试在生成世界时创建边缘块的斜坡。但是我意识到,当我后来添加用于黑客攻击的功能时,这让我不得不重新焕发活力。因此,这不是解决方案。我想我需要进行一些碰撞检测,并在我遇到边缘时将玩家向上移动。但我不太确定如何在移相器中执行此操作。任何帮助仍然受到赞赏。
!!!这是一个不该做的图片!!!
答案 0 :(得分:1)
Emanuele Feronato有post on replicating the game Magick in Phaser。
在那里,他报道了一个障碍物与障碍物/墙壁相撞的情况,该障碍物能够攀升一层。
您可以查看教程,但他似乎正在做的是检查对角线瓷砖是否为空(换句话说,它只是一个步骤&#39;向上),如果它是,跑步&#39;跳跃&#39;功能,看起来更像是攀爬。
根据您希望角色步进的方式,您可能会看到下一个瓷砖(在x轴上)以及检查高度后的瓷砖。
因此,例如,如果向右移动并且下一个图块是平的,但第二个图块有一个步骤,则可能会开始在y轴上向上移动字符。