[Timidouveg’s Museum] Dessin de points et de lignes

J’ai avancé sur l’éditeur du musée virtuel 🙂 J’ai dimensionné la grille à 128 par 128 unités de points, et il est possible de se déplacer sur la grille à l’aide des flèches du clavier. J’ai aussi ajouté une ligne rouge pour l’axe des X et une verte pour l’axe des Y. Le zéro absolu est au centre de la grille, ce qui permet d’avoir des coordonnées de points allant de (-64, -64) à (64, 64). Il est possible de placer les points et ainsi de tracer des lignes blanches qui sont les prémices des murs du musée 🙂 Les points sont stockés dans un tableau qui grandit au fur et à mesure dynamiquement, mais je n’ai pas encore implémenté de sauvegarde.

Enfin, deux dernières choses à dire. Pour l’instant, les lignes sont dessinés en continue, ce qui veut dire que vous ne pouvez pas faire des dessins séparés, parce qu’à chaque point posé, une ligne relie la précédente à celle-ci. Je changerais ça évidemment, c’est juste une étape dans le développement en cours 🙂 La dernière chose à dire est que l’application est lente lorsqu’il y a des points dessinés. Plus il y a de points, plus vous aurez du mal à dessiner ou à déplacer la grille. La raison est que le dessin manipule les pixels mais de façon encore naïve. J’ai cherché sur Internet les outils proposés dans HaxeFlixel et j’ai trouvé une page qui explique une façon de manipuler directement les pixels, en faisant toutes sortes de manipulations de la mémoire, etc… Bref c’est très technique, mais j’ai absolument besoin de procéder ainsi. En effet, non seulement c’est plus pratique pour faire l’éditeur, mais c’est indispensable pour la future partie en 2.5D. L’idée est de reproduire un moteur 2.5D (vieille 3D entre le début et le milieu des années 90) en m’inspirant fortement du moteur Build de Ken Silverman 🙂

Je ferais une série d’articles tutoriels qui expliquera étape par étape comment est codé le moteur de mon musée et son éditeur avec HaxeFlixel. C’est l’occasion d’explorer plein de classes, fonctions, dépendances, etc… de ce framework, mais aussi d’étudier les différentes techniques utilisées pour faire un moteur comme Build et un éditeur de map pour ce type de moteur 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *