2017-04-19 9 views
1

Lors de l'utilisation de libGDX, j'ai remarqué que parfois les textures que je dessine à l'écran ne sont pas dessinées exactement au pixel près, mais plutôt dessinées avec de minuscules portions des bords d'autres textures (par ex. ligne de pixels à partir du haut des cheveux est en train de descendre en dessous du pied du joueur).Pourquoi mon libGDX TextureAtlas ne rend-il pas correctement les textures de spritesheet?

Working properlyBlack line below feet

Quand j'ÉCHELLE mon jeu à une taille différente, des lignes noires apparaissent sur les côtés de ce que je ne peux que supposer sont des textures voisines.

enter image description here

je reçois le même problème en essayant de rendre une police dans un champ de texte à partir d'un fichier TextureAtlas.

Je charge ces textures à partir d'un TextureAtlas utilisant le plus proche voisin. Voici ma feuille de sprite, et ce sont les sélections que mes TextureAtlas fait de la feuille de sprite

enter image description here

player.png 
size: 64, 128 
format: RGBA8888 
filter: Nearest,Nearest 
repeat: none 
player1moveDown 
    rotate: false 
    xy: 0, 0 
    size: 10, 16 
    orig: 10, 16 
    offset: 0, 0 
    index: 1 
player1moveDown 
    rotate: false 
    xy: 10, 0 
    size: 10, 16 
    orig: 10, 16 
    offset: 0, 0 
    index: 2 
player1moveDown 
    rotate: false 
    xy: 20, 0 
    size: 10, 16 
    orig: 10, 16 
    offset: 0, 0 
    index: 3 

Y at-il une explication logique pour expliquer pourquoi mes TextureAtlas ne coupe pas des images parfaitement? En tant que question de suivi, y a-t-il quelque chose que je puisse faire pour le résoudre, ou devrais-je avoir recours à l'ajout de rembourrage transparent autour de chaque texture?

EDIT: J'ai trouvé le paramètre dans le GUI TexturePacker. Sur le côté droit de la fenêtre, sous « Sprite » vous pouvez modifier l'espace entre chaque texture en modifiant la valeur

enter image description here

Répondre

2

« Bourrage Shape » L'atlas est coupé parfaitement, mais flottera précision peut provoquer ce émettre quand il échantillonne à partir de la texture. La solution est de mettre un espace transparent entre vos images sur l'atlas. Si vous utilisez TexturePacker, ceci est fait pour vous.