Je vais commencer par la fin de ton message graboide pour qu'il n'y ait pas de malentendu. Je ne cherche pas à te convaincre de changer de méthode mais à expliquer que ce qu'a fait Clickteam avec les comportements est contraire à toutes les notions de poo et n'est pas à recommander à d'autres, d'autant plus si on utilise Fusion pour apprendre à programmer. Le premier principe qui n'est pas applicable est la notion d'héritage, qui se retrouve à travers les qualifieurs. Sans possibilité de les utiliser dans les comportements, on perd 80% si ce n'est plus du potentiel de factorisation d'un langage de poo. :(
Une autre chose qu'on apprend très vite en tant que programmeur, c'est que si on doit copier-coller son code plusieurs fois, c'est qu'il faut factoriser ou que l'on a fait une erreur de design. Ça n'est pas seulement moi et mon expérience personnelle qui parlent, c'est une règle de l'art en programmation.
Que Fusion copie automatiquement les événements avec les comportements ou qu'il faille le faire manuellement ne change pas le problème.
Reprenons l'exemple de la flèche en la généralisant à un ensemble de projectiles. Si tu as une pierre, une flèche, une boule de feu qui ont tous une trajectoire semblable, tu dois copier-coller le code qui gère la trajectoire dans les comportements pour chaque projectile.
Encore une dernière chose, si on n'utilise jamais l'éditeur d'événement, comment fait-on pour créer des objets dynamiquement? Ils se créent eux-même?
Ou ce sont d'autres objets qui les créent et dans ce cas là on se retrouve avec une interdépendance qui n'a pas lieu d'être?
Là où je te rejoins, c'est que l'éditeur d'événement pour tout faire est très lourd et on est obligé de bien séparer son code proprement et avec discipline (groupes d'événements ou autres).
Et je ne connaissais pas l objet tileset c est quoi cette choses ?!
L'objet Tilemap permet de gérer de manière performante une map de tiles (décors). La gestion de la mémoire est quasi optimale, peut-être gérée en temps réel, autorise l'animation des tiles... Que du bon. Par contre, comme je l'ai dit, cet objet n'a pas été porté sur d'autres plateformes que Windows. Mais sur le principe, c'est l'outil de factorisation ultime. En très peu de ligne d'événements, disons une vingtaine, et une seule scène on peut réaliser un moteur de A-Rpg du même type qu'Essia.
Et dernier point qui a dit que les comportements divisé les instance ?... Les mêmes règles que sur l éditeur de scène s applique on utilise des boucles, et d ailleurs le.titre du topic le dit X).
C'est bien ça le problème. En poo, une méthode de classe ne gère pas toutes les instances mais bien uniquement l'instance créé.
Tu crois que c est couchemardesque mais tu trompe essayez avant de jugez , c est pas parce que vous, vous y arrivez pas que tous le.monde n en ai pas capable, puis de toute façon un arpg sur Android c est la seul solution simple, après on par dans des truc répétitif lourd, source de.bug énormes .
C'est bien ce que j'ai fait. Avec Cardinal, je me suis dit que les comportements représentaient l'équivalent des méthodes de classe et j'ai commencé par ça. Mais quand j'ai vu qu'ils géraient toutes les instances et qu'il n'y avait pas d'héritage possible, j'ai tout de suite arrêté.
Tout cela peut en effet paraître très critique et je ne veux pointer du doigt personne, ni aucune méthode. Je trouve au contraire que cette discussion est très intéressante parce qu'elle représente pour moi le plus gros problème de Fusion. Comme je l'ai expliqué pour les comportements, ceux-ci auraient été une solution idéale s'ils respectaient les principes de base de la poo. Tout le code dans l'éditeur d'événement n'est pas non plus une solution idéale puisqu'il ne devrait pas avoir à gérer le comportement local de chaque objet.