-
Indication pour un jeu
Bonjour,
Et avant tout, merci à ceux qui prennent la peine de lire:)
Alors, pour crée un casse brique par exemple, j'ai utilisé plusieurs direction possible et pour cela:
Premiere direction: 4px vers la gauche pour 1px vers le haut
La deuxieme: 3px vers la gauche pour 2px vers le haut
etc...
Comme cela il y a plusieur direction lorsque la balle touche différentes parties de la barre mais lors de la collision, sachant que certains pas sont de 4px d'un cou, je dois faire la collision avec les bloc "plus petit ou égale" ou "plus grand ou égale" et donc il se peut que par moment la balle entre de 1-2 px dans le bloc (ca ne se voit pas mais ca corse la gestion des collisions)
Par exemple, la balle par de 0px, elle va jusqu'au 100ieme pixel par pas de 3.
Au bout de 33 pas il est à 99px et un pas de plus il se retrouve a 102px.
La balle n'arrivera donc pas forcément toujours à 100px.
Enfin bref, c'est juste pour savoir s'il faut faire une gestion px par px mais alors ca va beaucoup corsé le code...
Donc en gros, dans une méthode run() qui se répete toute les 12ms par exemple, je fais bouger la balle en lui augmentant son X et son Y par le pas qui peut etre de 1 à 5, ce qui poura modifier les trajectoires mais les collisions sont moins précises du coup...
Désolé pour la clarté du message;)
Bien à vous,
Merci
-
Oui effectivement ce n'est pas super clair ;-)
Il faut que tu gère tes positions X et Y sur des nombres réels (double) et que tu fasse un arrondi en entier au moment de l'affichage (puisqu'on ne peut pas afficher sur des demi-pixels).
-
Merci à toi.
Avec des doubles.. avais pas penser:p
Merci, j'aurais juste une dernière question:
J'ai toujours peur de trop charger mes gestions et tout ca.
Donc mes run() qui s'occupe de la gestion des collisions sont répetés toutes les 12ms environ (depend du jeu évidement) mais j'ai peur de mettre trop de condition, on peut en mettre sans torp sans soucier ou ca prend vite des ralentissements?
Merci:)
-
L'idéal quand on développe un jeu, c'est de travailler avec un IDE permettant de faire du profiling, c'est à dire de mesurer quelle est la partie du code la plus gourmande en traitement. Ainsi tu sauras quels algos optimiser pour avoir des gains significatifs de performance.
Après c'est surtout le bon sens du développeur qui est impliqué, limiter les itérations, éviter de créer de variables à la volée (et donc de générer de nouvelles allocations mémoire) surtout au sein des boucles, etc...
-
Okay, merci bien
Merci de la rapidité de réponse:)
Bonne soirée;)