2天來,我一直在嘗試修復bug,在我的遊戲中有變得浮躁和變態的紋理。我在互聯網上進行了一些操作,我嘗試了一些解決方案,比如使用scene2d,但沒有奏效。我該怎麼辦 ?Java libgdx 1.20版本紋理bug
這張截圖顯示的問題:作爲角色移動,一隻眼睛有時比其他較大:
編輯:
我仍然有問題widthdistored眼睛,當我使用sprite.setPosition((int)sprite.getX(),(int)sprite.getY());每次我呈現我的角色之前。
當我從答案中使用自定義視口時,我在遊戲窗口上什麼也看不到我做錯了什麼?
package com.mygdx.redHoodie;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.utils.viewport.StretchViewport;
public class GameScreen implements Screen {
public static final int GAME_WIDTH = 800;
public static final int GAME_HEIGHT= 480 ;
SpriteBatch batch;
Background background;
public Hoodie hoodie;
public PixelMultipleViewport viewport;
OrthographicCamera camera;
public int gameMode; // 0 normalna gra, 1 level up, 2 end game
public GameScreen(){
camera= new OrthographicCamera(GAME_WIDTH,GAME_HEIGHT);
viewport = new PixelMultipleViewport(GAME_WIDTH, GAME_HEIGHT, camera);
viewport.update();
camera.setToOrtho(false, GAME_WIDTH, GAME_HEIGHT);
batch = new SpriteBatch();
//klasy wyswietlane
background= new Background(this);
hoodie = new Hoodie(this);
startNewGame();
}
@Override
public void render(float delta) {
// TODO Auto-generated method stu
Gdx.gl.glClearColor(1, 1, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.setProjectionMatrix(camera.projection);
batch.setTransformMatrix(camera.view);
camera.update();
//batch.setProjectionMatrix(camera.combined);
this.update(delta);
this.batch.begin();
toRender(delta);
this.batch.end();
}
public void update(float delta){
hoodie.update(delta);
}
public void toRender(float delta){
background.render();
hoodie.render();
}
public void startNewGame(){
}
public void startNevLevel(){
}
@Override
public void resize(int width, int height) {
// TODO Auto-generated method stub
viewport.update(width, height,false);
}
@Override
public void show() {
// TODO Auto-generated method stub
}
@Override
public void hide() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
@Override
public void dispose() {
// TODO Auto-generated method stub
}
}
如果不知道你是如何加載你的紋理的話,很難想象。你能爲此提供代碼嗎?這可能導致了一個錯誤,或者你以一種意想不到的方式使用這些紋理。從看libgdx社區論壇看,這似乎不是一個普遍的問題,因爲那裏沒有人抱怨過它。 – Tenfour04
我有這個bug,當我做項目相同,在這個教程http://theinvader360.blogspot.co.uk/2013/05/street-race-swipe-libgdx-scene2d.html,但也當我複製粘貼解決方案從這個stackoverflow問題:http://stackoverflow.com/questions/18997013/sprite-flicker-while-moving-libgdx – peterSweter
也許你可以更詳細地描述你的意思是閃爍和扭曲,因爲這些術語意味着不同的東西不同的人。例如,你剛剛鏈接的另一個問題似乎與從一個位置跳到另一個位置的精靈有關,這不是我所稱的閃爍。 – Tenfour04