Phaser Arcade Lagging Body

时间:2017-05-24 22:03:24

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

我目前正在使用Phaser,使用街机物理进行连续滚动游戏。我在中心有一个静止的玩家物体,它上下移动,为了创造它正在移动的错觉,我使用补间在屏幕上带来障碍物: game.add.tween(block).to({ x: 0-(height/blocksize) }, 5000-speed, Phaser.Easing.Linear.None).start();

要让补间执行此操作并允许玩家被障碍物拦截,我将身体设置为不可移动:

block.body.allowGravity = false;
block.body.moves = false;
block.body.immovable = true;

这似乎运作良好,然而,我注意到玩家在碰撞时稍稍沉入侧面:

Lagging body

然后我尝试在更新循环中使用此代码手动偏移正文:

b[i].body.x = b[i].world.x-10;

虽然这确实让身体接近完全对齐,但玩家不会与身体侧面碰撞:

Sideways collision

Vertical collision

Sideways collision

所以主要的问题是,当玩家(一个精灵。)击中其中一个移动的块(另一个精灵。)时,它似乎会略微沉入其中。这是因为移动块的物理体稍微滞后于视觉精灵。值得注意的是,我正在使用移相器街机物理引擎。

0 个答案:

没有答案