我使用Inkscape創建背景,我使用2個背景相同的圖像來顯示移動的背景,但是當我運行遊戲時出現一條線,任何解決方案?Libgdx Scrolling背景外觀一條線
Picture for the problem in a background the line appears and disappears
Picture for the problem in another background ; the repeat of background is clear
爲了澄清更多的,這是我的後臺代碼:
在GameStage類相機設置public class Background extends Actor {
private final TextureRegion textureRegion;
private Rectangle textureRegionBounds1;
private Rectangle textureRegionBounds2;
private int speed = 70;
public Background() {
textureRegion = new TextureRegion(new Texture(Gdx.files.internal(Constants.BACKGROUND_IMAGE_PATH)));
textureRegionBounds1 = new Rectangle(-800/2, 0, 800,480);
textureRegionBounds2 = new Rectangle(800/2, 0, 800, 480);
}
@Override
public void act(float delta) {
if (leftBoundsReached(delta)) {
resetBounds();
} else {
updateXBounds(-delta);
}
}
@Override
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);
batch.draw(textureRegion, textureRegionBounds1.x, textureRegionBounds1.y, 800,480);
batch.draw(textureRegion, textureRegionBounds2.x, textureRegionBounds2.y, 800,480);
}
private boolean leftBoundsReached(float delta) {
return (textureRegionBounds2.x - (delta * speed)) <= 0;
}
private void updateXBounds(float delta) {
textureRegionBounds1.x += delta * speed;
textureRegionBounds2.x += delta * speed;
}
private void resetBounds() {
textureRegionBounds1 = textureRegionBounds2;
textureRegionBounds2 = new Rectangle(800, 0, 800, 480);
}
}
:
...
private static final int VIEWPORT_WIDTH = 800;
private static final int VIEWPORT_HEIGHT = 480;
...
public GameStage(){
super(new ScalingViewport(Scaling.stretch, VIEWPORT_WIDTH, VIEWPORT_HEIGHT,
new OrthographicCamera(VIEWPORT_WIDTH, VIEWPORT_HEIGHT)));
Gdx.input.setInputProcessor(this);
// renderer = new Box2DDebugRenderer();
setUpWorld();
setupCamera();
}
...
private void setupCamera() {
camera = new OrthographicCamera(VIEWPORT_WIDTH, VIEWPORT_HEIGHT);
camera.position.set(camera.viewportWidth/2, camera.viewportHeight/2, 0f);
camera.update();
}
...
這些圖像是在紋理圖集,還是在運行時從單獨的圖像文件加載?你在用什麼紋理過濾? – Tenfour04
感謝您的評論,我使用TextureRegion,我編輯我的問題,你可以更多地瞭解我 –