Phaser JS走上了基于瓷砖的楼梯

时间:2016-03-26 10:00:15

标签: javascript game-engine game-physics phaser-framework

我自己在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>

enter image description here

=====================编辑=====================

我现在尝试在生成世界时创建边缘块的斜坡。但是我意识到,当我后来添加用于黑客攻击的功能时,这让我不得不重新焕发活力。因此,这不是解决方案。我想我需要进行一些碰撞检测,并在我遇到边缘时将玩家向上移动。但我不太确定如何在移相器中执行此操作。任何帮助仍然受到赞赏。

!!!这是一个不该做的图片!!!

enter image description here

1 个答案:

答案 0 :(得分:1)

Emanuele Feronato有post on replicating the game Magick in Phaser

在那里,他报道了一个障碍物与障碍物/墙壁相撞的情况,该障碍物能够攀升一层。

您可以查看教程,但他似乎正在做的是检查对角线瓷砖是否为空(换句话说,它只是一个步骤&#39;向上),如果它是,跑步&#39;跳跃&#39;功能,看起来更像是攀爬。

根据您希望角色步进的方式,您可能会看到下一个瓷砖(在x轴上)以及检查高度后的瓷砖。

因此,例如,如果向右移动并且下一个图块是平的,但第二个图块有一个步骤,则可能会开始在y轴上向上移动字符。