Forum de la communauté SFML

Général => Projets SFML => Discussion démarrée par: SupersonicTuck le Novembre 28, 2015, 04:44:47 pm

Titre: problème avec sf::View ?
Posté par: SupersonicTuck le Novembre 28, 2015, 04:44:47 pm
Bonjour,
je viens poster parce que j'ai un petit problème avec sf::View.

En effet je m'amuse à développer un petit jeu en 2D (c++) en générant les décors par tilemaping. je centre la view sur le personnage et lorsqu'il se déplace je vois apparaitre des lignes puis disparaitre entre chaque tiles (c'est assez léger mais gênant).
J'ai refais le test sur un code plus simple en déplaçant le personnage de 1 pixel à chaque pression de touche et on voit clairement apparaitre des lignes qui correspondent à la première ligne de la tile suivante. (lorsque je déplace d'un pixel à la fois, les lignes ne disparaissent même plus), comme si le setTextureRect était mal fait.

Pour créer les sprites je fais simplement :
        for (int i = 0; i < 21; i++)
                for (int j = 0; j < 12; j++)
                {
                        sprites[i][j].setTexture(tileset);
                        sprites[i][j].setPosition(i * 128, j * 128);
                        sprites[i][j].setTextureRect(sf::IntRect(tmp2[j][i] * 128, tmp[j][i] * 128, 128, 128));
                }

et pour mettre à jour la vue :

view.setCenter(player.getPosition());
                window.setView(view);

(http://tilesetbug.png)

j'ai essayé avec des sf::Sprite ou avec des tableaux de vertex mais même problème.

Est ce que c'est un bug connu ou un problème dans ma façon de procéder ?
Titre: Re : problème avec sf::View ?
Posté par: Laurent le Novembre 28, 2015, 05:12:03 pm
Il faut que les coordonnées de ta vue soient entières.
Titre: Re : problème avec sf::View ?
Posté par: SupersonicTuck le Novembre 28, 2015, 05:59:47 pm
Merci beaucoup ! simple rapide et efficace :p j'avais vu que le fait de ne pas avoir des coordonnées entières pouvait poser problème mais je pensais que les miennes étaient bien entières. Merci encore et bonne soirée