【问题标题】:Prevent object from leaving camera bounds防止物体离开相机边界
【发布时间】:2016-02-01 16:03:10
【问题描述】:

我正在使用移相器框架并尝试制作一个简单的“跌倒”游戏。目标是在不被推到屏幕顶部的情况下以足够快的速度下落:

为此,我将画布尺寸设置为 800x600

var game = new Phaser.Game(800, 600, ...);

并将 create() 中的世界大小调整为 800x6000

game.world.resize(800, 6000);

update()我把相机1向下移动:

game.camera.y += 1;

并检查球是否仍在相机内:

if (!ball.inCamera) {
   // ...         
}

我的问题是:
在左边和右边,世界边界限制了球的移动性(因为球不能离开相机)。如何防止球从底部的相机“掉出”,但仍然能够从顶部的相机中推出?

有没有类似的东西

game.physics.arcade.checkCollision.down = true;

但对于相机边界?

编辑

这就是创建球的方式:

ball = game.add.sprite(game.world.width / 2, 20, "ball");
game.physics.arcade.enable(ball);
ball.body.gravity.y = 1000;

要移动球,我会检查按键,然后更改 ball.body.velocity 参数。

【问题讨论】:

  • 如何移动球?它有物理吗?
  • 好吧,因为物理与相机无关(实际上不应该),一个优雅的解决方案是创建一个不可见的身体,将其顶部与底部相机绑定并移动它带摄像头,因此仍然允许球从顶部移出视图,但不允许它掉下来。
  • 感谢先生为我指明了正确的方向。
  • @KamenMinkov 你应该添加一个答案
  • ...如果提问者再次回来...

标签: javascript phaser-framework


【解决方案1】:

物理与相机无关(实际上不应该),一个优雅的解决方案是创建一个不可见的身体,将其顶部与底部相机绑定并随着相机移动它,因此仍然允许球被移出顶部的视图,但不允许它掉下来。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多