【发布时间】: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