我想用libgdx和Box2D写一个sidescroller游戏。
但是不是将玩家和相机向右移动,玩家应该保持在他的位置,地板应该向左移动。板条箱应随机放置,并从屏幕的右侧移动到左侧。此外,玩家还应该可以移动到屏幕的左侧和右侧,而不会停止游戏以滚动关卡。
我使用libgdx或Box2d没有问题,但我不确定实现目标的最佳方法是什么。我想使用物理因素,因为我在游戏中也会有一些弹跳球等应该显示出物理上正确的行为,并且应该与玩家互动。
我有一些想法如何解决我的问题:
对地板和板条施加恒定的力或速度,将它们向左推,并对玩家施加反作用力使其保持在他的位置。当按下左或右按钮移动播放器时,反作用力会略微增强或减小。 (由于物理模拟不是100%准确,我希望避免这种情况)
移动地板,玩家和板条箱的位置,但这会破坏整个物理场景。
不幸的是,我对这些解决方案都不满意。有没有人遇到类似的问题,或者有任何建议如何以优雅的方式解决这个问题?
非常感谢提前。
答案 0 :(得分:0)
我建议您创建两个单独的摄像头:用于播放器和用于地面(地板)。
这样你就可以随心所欲地移动你的“地面相机”,玩家将保持他的位置。然后就是不要移动你的玩家相机,只移动玩家body
,这样你就会获得赛道的效果。
我在游戏中使用4个摄像头(用于地面,用于播放器,用于HUD和背景),它为您提供了很多可修复性,您可以创建很酷的滚动效果。