Après avoir ajouté de la vélocité à mon jeu, j'ai l'impression que mes textures se contractent. Je pensais que ce n'était que mes yeux, jusqu'à ce que je le capture enfin sur une capture d'écran:
Celui de gauche est ce qui rend dans mon jeu; celui de droite est le sprite d'origine, collé dessus. (Il s'agit d'une capture d'écran de Photoshop, agrandie 6x.)
Notez que les bords sont des alias - cela ressemble presque à un rendu sous-pixel. En fait, si je n'avais pas forcé mes sprites (qui ont la position et la vitesse en pouces) à dessiner en utilisant des valeurs entières, je jurerais que MonoGame dessine avec des valeurs à virgule flottante. Mais ce n'est pas le cas.
Quelle pourrait être la cause de ces choses floues? Cela ne se produit pas sans la vitesse appliquée.
Pour être précis, ma SpriteComponent
classe a un Vector2 Position
domaine. Lorsque j'appelle Draw
, j'utilise essentiellement new Vector2((int)Math.Round(this.Position.X), (int)Math.Round(this.Position.Y))
le poste.
J'ai eu un bug avant où même les objets stationnaires tremblaient - c'était dû à moi en utilisant le Position
vecteur droit et sans arrondir les valeurs à ints
. Si j'utilise Floor
/ Ceiling
au lieu de rond, le sprite coule / plane (une différence de pixel dans les deux sens) mais reste toujours flou.