2014-04-17 18 views
8

Używam LibGdx i Tafli, a podczas poruszania się po ekranie w grze pojawiają się zarówno poziome, jak i pionowe linie. W razie potrzeby mogę opublikować dowolny kod. Jak mogę zatrzymać te linie?Dlaczego linie w mojej grze libgdx są wyświetlane przy użyciu kafelków?

Still image of said lines

Oto gif gfycat linii:

http://gfycat.com/FastUnnaturalAmericanwirehair

Edit:

Oto mały repozytorium bitbucket, tak mały, jak mogę dostać go, że ma ten sam błąd:

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

+0

Opublikuj minimalną pracy przykład, jeśli możesz. –

+0

Nie jestem pewien, czy to masz na myśli, czy nie, ale jest to aktualny plik gry: https://www.dropbox.com/s/nmzfm75atnz5pfi/TinyWorld.jar – Dylan

+0

Spróbuj zrobić jedno z poniższych: http://stackoverflow.com/help/mcve –

Odpowiedz

11

Dzieje się tak, ponieważ musisz dodać dopełnienie do płytek.

Jest to dość powszechny problem i nie jesteś pierwszym, który go spotka. Zasadniczo z powodu błędów zaokrąglania podczas skalowania i przesuwania, czasami renderujesz obszar "między" dwoma płytkami, co spowoduje, że nic nie zostanie wyrenderowane -> przechodzi czarny kolor tła.

Zasadniczo trzeba użyć niektórych narzędzi, aby dodać dopełnienie do zestawu klocków. W tym forum thread wyjaśniłem, jak to zrobić.

Jest jeszcze jedno pytanie dotyczące tego tematu na stackoverflow here.

+0

Och, człowieku! Dziękuję bardzo! To działało idealnie! – Dylan

0

Gdy masz błędy zaokrąglania, możesz zawsze zmusić liczbę do przyciągnięcia do żądanej siatki. W moim przypadku, który wyglądał tak:

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

Ponieważ użyłem stałej pikseli-per-metr 100F całej grze, aby skalować Wszystko

Powiązane problemy