2014-04-17 25 views
8

Uso LibGdx e Tiled e quando ci si muove sullo schermo, nel gioco sono presenti sia linee orizzontali che verticali. Posso pubblicare qualsiasi codice di cui hai bisogno, se necessario. Come faccio a smettere queste linee?Perché ho linee che attraversano il mio gioco libgdx usando Tiled?

Still image of said lines

Ecco una gif gfycat delle linee:

http://gfycat.com/FastUnnaturalAmericanwirehair

Edit:

Ecco un piccolo repository bitbucket, piccolo come ho potuto ottenere che ha il stesso problema:

https://bitbucket.org/Chemical_Studios/example-of-line-glitch/src/8eeb153ec02236d836763072611bd7aa55d38495/minimalExample/src/com/weebly/chemicalstudios/minEx/?at=master

+0

messaggio un esempio di lavoro minimo, se potete. –

+0

Non sono sicuro se questo è ciò che intendi o no, ma questo è il file di gioco corrente: https://www.dropbox.com/s/nmzfm75atnz5pfi/TinyWorld.jar – Dylan

+0

Prova a fare uno di questi: http://stackoverflow.com/help/mcve –

risposta

11

Questo perché è necessario aggiungere un riempimento alle tessere.

Questo è un problema piuttosto comune e non sei il primo ad incontrarlo. Fondamentalmente a causa di errori di arrotondamento durante il ridimensionamento e il panning in giro, a volte si renderà l'area "tra" due tessere, che non comporterà il rendering di nulla -> il colore di sfondo nero attraversa.

Fondamentalmente è necessario utilizzare alcuni strumenti per aggiungere il padding al set di tessere. In questo forum thread ho spiegato come farlo.

C'è anche un'altra domanda riguardo a questo argomento su StackOverflow here.

+0

Oh, amico! Grazie mille! Questo ha funzionato perfettamente! – Dylan

0

In caso di errori di arrotondamento, è possibile forzare sempre il numero a eseguire lo snap sulla griglia desiderata. Nel mio caso che si presentava così:

gameCam.position.x = (float) Math.round(player.b2body.getPosition().x * 100f)/100f; 

Perché ho usato un costante pixel-per-metro di 100F per tutta la partita, in scala tutto