J’étais entrain de me faire une belle classe pour gérer mes vecteurs mais en regardant pour un autre problème dans la doc de directX , je suis tombé sur D3DXVECTOR3. J’ai donc effacer ma classe de vecteurs et commencer à utiliser celle-ci. C’est beaucoup plus simple et ça évite de réinventer la roue. Bref, avant de ré-inventer la roue, vérifier dans la doc du sdk de directX (Si vous utilisez DirectX) pour voir si quelque chose existe déjà. Grace à cette découverte, ma classe pour les sprites a grandement avancé et devrait être complétée d’ici la fin de la semaine. 🙂
Petit retard
Aujourd’hui est seulement un petit message pour vous dire qu’il y a un petit retard dans l’avancement de space ball. Mais ne vous inquiètez pas, ce que j’avais prévue de faire pour cette semaine sera tout simplement reporter pour la semaine prochaine. 🙂
Fix bug d’affichage
La semaine dernière, j’ai pratiquement réalisé les objectifs que je m’étais donnés. J’ai donné un gros coup dans le refactoring des classes de bases. Je me suis retrouvé à n’avoir plus rien d’affiché à l’écran. J’ai donc du travailler fort pour réussir à ré-afficher quelque chose. J’ai réussi et du coup, mon refactoring m’a permis de régler plusieurs petits bug d’affichage qu’il y avait. Il n’y a pas beaucoup de choses à dire cette semaine. Je vous laisse donc sur ce qui sera fait d’ici 2 semaines.
À venir dans 2 semaines :
- Création de la classe de base des games objects
- Création d’une classe qui dérive de la classe gameObject pour gérer les sprites.
- Fix de crash s’il y en a
- Fix de l’affichage du texte qui est assez étrange.
Refactoring
Cette semaine j’ai travaillé à faire bouger la balle. En faisant ça, j’ai vue plusieurs erreurs de conceptions au niveau des classes. J’ai donc décidé de faire un petit refactoring histoire que ce soit plus facile pour créer le jeu. J’ai commencer par créé un surface pour le background au lieu d’utiliser des sprites, ensuite j’ai créé des fonctions pour afficher une surface. On peut y spécifié sa taille, sa destination et finalement on peut spécifier si on veut que la surface prenne tout l’écran.
À venir la semaine prochaine:
- Continuation du refactoring, il n’y aura probablement pas de nouveau éléments du coté visuel.
- Fix des warning lors de la compilation.
- Fix de crash s’il y en a
- Fix de la balle qui fonctionne bizzare coté logique.
Premier bug majeur
Je recherchais la cause d’un de mes bugs lorsque je switchais du mode fenêtre vers le mode plein écran. J’ai cherché, cherché et cherché la cause de mon erreur. Il y a quelque minute je me suis rapeller un petit truc que j’avais apris lors de mon travail. J’ai donc essayé et j’ai pu trouver le bug en moins de 30 secondes. Mais quel est ce truc dites-vous ? Et bien c’est simple, lorsque vous travaillez avec le sdk de directX, je vous suggère de mettre directX en mode debug. Pour le faire, vous aller dans le dossier où vous avez installer le sdk de direct X et vous ouvrez le control panel de direct X. Rendu là vous choisissez ce que vous voyez dans l’image ci-bas :
*image non disponible
Vous pouvez essayer les autres options aussi. Mais si vous utilisez seulement l’option que j’ai entouré en rouge, s’il y a une erreur, celle-ci sera loggué dans le output de visual studio et c’est souvent un message très claire. C’est grâce à ça que j’ai découvert que mon erreur était une erreur d’inatention. J’avais mis un mauvais format de couleur au backbuffer. J’avais mis : D3DFMT_X8B8G8R8 au lieu de D3DFMT_X8R8G8B8. Bref, j’avais mis le format BGR au lieu de RGB pour la couleur. Cette erreur a du se faire avec l’auto-completion du code. lol. Donc pour conclure, n’oubliez pas le petit truc, ça vous évitera de la perte de temps. Dernière petite chose, n’oubliez pas de remettre vos setting par defaut si vous voulez jouer à d’autre jeux par après, sinon vous allez trouver que votre FPS est pas trop haut et vous ne saurez pas trop pourquoi.

