我正在使用libgdx为Android制作游戏,我的要求是当角色扮演游戏时,我们的工作是
if velocity == normal(==25)
cam.position.y = character.position.y;
但是,如果获得一些力量,那么需要的是我们顺利地接受角色的y位置 为此,我指定为
if when velocity >25(means get power)
cam.position.y = character.position.y-screenHieght/3;
它正在工作但是角色不能顺利移动并且没有真正的效果。 请有人帮我解决这个问题吗?
答案 0 :(得分:1)
在对您的问题进行第二次阅读后,我认为您正在询问如何平稳地更新您的相机,无论玩家的移动速度如何。
以下是我更新相机的方法:
protected void updateCamera() {
float tX = cameraObjective.pos.x - cam.position.x;
float tY = cameraObjective.pos.y - cam.position.y;
float newX = cam.position.x + tX;
float newY = cam.position.y + tY;
if ( newX < camBounds.x || newX > camBounds.x + camBounds.width ){
tX = 0;
}
if ( newY < camBounds.y - camBounds.height || newY > camBounds.y ){
tY = 0;
}
cam.translate(tX, tY, 0);
}
cambounds是一个巨大的矩形,用于定义相机的移动限制,因此如果它对您的情况没有帮助,您可以省略该部分