Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - Magnat

Pages: [1]
1
Général / Question vertexArray a la place de sprite
« le: Janvier 15, 2019, 02:30:07 pm »
Bonjour tout le monde !
Je viens ici car j'ai commencé un projet, une sorte de rogue like a génération procédurale.
J'ai commencé a développer une générateur de niveau aléatoire et en fonction des salle qu'il génère (taille etc) je créer des sprite de 16*16 représentant chacun une case.
Mais j'ai entendu parlé de vertexArray et je me suis dit que cela serait peut être mieux pour mon projet pour l'affichage des salle. Pour le moment avec ma méthode et en faisant un draw sur chaque sprite je n'ai aucun lag mais je me demandais quand même si cela pouvait être fait sachant que chaque salle n'est pas forcement génère dans l'ordre (une salle plus proche de la position 0, 0 peut être généré en dernière et inversement) Du coup garder la méthode des sprite est peut être mieux ou bien je peux très bien convertir tout mon donjon en un vertexArray ?
Désolé si ça vous parait évident mais  je suis débutant en sfml !

2
Graphique / Bug d'affichage des Sprite
« le: Janvier 15, 2019, 12:25:07 am »
Bonjour, je suis actuellement sur un petit projet mais j'ai léger bug.
J'ai un personnage qui est le centre de ma vue, le centre est toujours actualisé sur mon personnage.
Mon monde est enfaîte un grand tableau de sprite de taille 16*16 qui sont draw a chaque affichage.
Mon problème est le suivant :

Quand je move mon personnage de valeur entière il n'y a aucun problème, par-contre si je le bouge de valeur float il arrive que des fois il y ai de micro blanc entre 2 sprite 16*16. C'est très bref mais cela arrive souvent. C'est assez problématique si je veux faire bouger mon personnage en fonction d'une clock..

Si vous avez une idée pour résoudre ce problème je suis preneur ! Merci d'avance !

(Sur beaucoup de sujet similaire il est dit qu'il faut désactiver le smooth des textures mais je ne les utilise pas et j'ai quand même essayé de setSmooth(false) et même problème !)

Edit : C'est bon j'ai trouvé une solution ! Enfaîte a partir du moment ou l'on bouge le sprite avec une valeur dépassant les 5 chiffres après la virgule le bug commençai a se produire du coup il suffit de limiter le float a un certain nombre après la virgule !

exemple :

test = move_clock.restart().asSeconds();
         x = x * ((int)(test*10000))/10000.f;
         y = y * ((int)(test*10000))/10000.f;

move_clock est une clock, x et y sont des float qui valent la vitesse (exemple 100.0)

Pages: [1]