我正在创建简单的2D平台游戏,我想用我的player1 y坐标更新我的背景图像。
这是我的Background
班级
public class Background{
private Sprite sprite, sprite2;
public static int x = 50, y = 0;
public Background(){
sprite = new Sprite(TextureManager.back);
sprite2 = new Sprite(TextureManager.back);
isSprite = true;
}
public void setPosition(float x, float y) {
sprite.setPosition(x, y);
}
public void draw(SpriteBatch batch) {
sprite.draw(batch);
}
public void setPosition2(float x, float y) {
sprite2.setPosition(x, y);
}
public void draw2(SpriteBatch batch) {
sprite2.draw(batch);
}
public float getWidth(){
return sprite.getWidth();
}
}
这是我的方法updateCamera
public void updateCamera(){
float lerp = 0.2f;
System.out.println("SCREEN " + screenY);
camera.position.x += (player1.getHitBox().x - camera.position.x) * lerp;
if(screenY < player1.getHitBox().getY()){
camera.position.y += player1.getHitBox().y * lerp;
}else{
camera.position.y = (screenY - 250);
}
if(screenY < player1.getHitBox().getY() && player1.getHitBox().getY() > (screenY - Gdx.graphics.getHeight())){
screenY += Gdx.graphics.getHeight();
Background.y = (int) screenY/2; // updating background y-axis!
}else if(player1.getHitBox().getY() < (screenY - Gdx.graphics.getHeight())){
screenY -= Gdx.graphics.getHeight();
Background.y = (int) screenY - Gdx.graphics.getHeight(); // updating background y-axis!
}
camera.update();
}
一切正常但我的滚动不顺畅。当我的角色位置player1.getHitBox().getY() > Gdx.graphics.getHeight()
我的背景更新很慢时。这是它的外观visualy。任何想法有什么不对?