我目前正在开发LibGDX游戏。您可能已经看过另一篇文章。我已经解决了这个问题,但现在,我面临的事实是,我似乎无法将我的玩家移向(它总是向上移动而不是指向它的前方)。我已经尝试了一切,从使用Box2D到我在网上找到的建议使用trig功能的答案。有没有人设法做到这一点?
答案 0 :(得分:0)
通常通过设置x(左和右)和y(上下)坐标来完成对象的移动。
要知道如何操纵它们,你需要知道他的方向
在自上而下的游戏中,它可以是Vector2
,标准化的Vector
(长度为Vector
= 1),它会为您提供x和y方向的相对移动。在平台游戏中,它可能只是boolean
,它定义您是否面向严谨或左侧。然后通过跳跃和其他“上升力”定义上/下运动。和万有引力。
我认为在你的情况下这是一个自上而下的游戏,所以你需要一个Vector2
当你rotate
你的角色时,你需要rotate
Vector2
来。为确保您的Vector2
已标准化,请在操作后调用nor()
在update
或render
方法中,您应该像这样设置角色的x和y坐标:
player.x = direction.x*delta*speed;
player.y = direction.y*delta*speed;
delta
是Gdx.Graphics.getDeltaTime()
,speed
是你的播放器的移动速度。
希望有所帮助