防止物体离开相机边界

Prevent object from leaving camera bounds

我正在尝试使用移相器框架并尝试制作一个简单的 "fall down" 游戏。目标是下降得足够快而不会被推出屏幕顶部:

为此,我将 canvas 大小设置为 800x600:

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

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

game.world.resize(800, 6000);

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

game.camera.y += 1;

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

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

我的问题是:
在左侧和右侧,世界边界限制了球的可移动性(因为球不能离开相机)。我怎样才能防止球 "falling" 从底部的摄像头出来,但仍然能够从顶部的摄像头推出?

有没有类似的

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 参数。

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