Par contre, un truc qui est embêtant avec le singleton, plus que l’action de remise à zéro, c’est que les tableaux sont communs à tous les jeux ouverts avec GD.
Autant c’est pas génant pour une extension comme l’extension Réseau, qui a une classe singleton pour gérer les données envoyées/reçues, autant pour les tableaux, on s’attend plus à ce qu’ils soient limités au jeu.
Pour émuler des tableaux qui se restreignent au jeu voir à la scène, tu peux utiliser une std::map du style :
std::map<Scene*, Tableaux> tousLesTableaux
Ce que je veux dire, c’est que avec cette map, tu peux ranger tes tableaux par scène. ( Ou par jeux si tu fait une std::map<Game*, Tableaux )
Ensuite, quand tu utilise une action qui va modifier un tableau, il te suffit de passer à ta map le pointer vers la scène
bool ActionSurUnTableau( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action )
{
taMapGerantLesTableaux[&scene].EtLaTuPeuxAccederAuTableauxDeLasceneCommeAvant...
//Genre :
taMapGerantLesTableaux[&scene].clear(); //Pour effacer tous les tableaux de la scène si tu les gère avec un std::vector.
}
C’est cette solution que j’ai utilisé pour les fonctions par exemple, qui se limitent aux scènes. Regarde l’extension Function si tu souhaite, mettre en place une telle solution n’est pas très compliqué.
J’avais oublié un détail : les valeurs de ma singleton ne sont pas réinitialisées à chaque Aperçu dans GD.
A part demander à l’utilisateur de mettre une action au lancement de la scène, n’y a-t-il pas moyen de faire autrement ?
J’ai crée un petit exemple permettant de montrer les capacités de l’extension avec ici un tableau à une dimension numérique : Indisponible
(Il est conseillé de ne pas utiliser la fonction insérer (touche I) sur des index qui n’existe pas encore (qui ne sont pas affichés à l’écran), ça ne marche pas.).
Je poste ce message car :
j’ai téléchargé l’extension tableau 1.1 (stable)
J’utilise Game Develop 1.5.9980.50345
J’ai installé l’extension dans le dossier “extension” de GD.
mais à l’ouverture du logiciel, un message m’annonce un problème et que l’extension tableau n’a pas pu être chargée.
Victor, ou 4ian, pourriez-vous m’aider ?
L’extension Tableau est et sera toujours disponible uniquement pour les dernières version de Game Develop.
Autrement dit, il faut que tu utilises GD 1.5.10139.xxxxx. (L’extension est compatible avec le GD ATI Fix qui porte le même numéro de version)
Je précise que dans l’installateur de l’extension, il faut donner le chemin de GD et pas du dossier Extension.
D’accord !
tout s’explique !
Mais cela donne naissance à des problèmes :
-où télécharger la dernière version de GD ?
-comment rendre mes anciens fichiers compatibles ?
Je demande ici aussi de l’aide.
Merci d’avance !
Tu télécharges la nouvelle version de GD au même endroit que d’habitude : http://www.compilgames.net
(Il y a aussi un sujet en annonce dans le “Discussions générales”, tout en haut)
Les anciens fichiers sont évidemment compatibles.
Normalement, GD t’avertis quand il y a une mise à jour, je te conseille de toujours l’effectuer pour profiter des nouvelles fonctionnalités de GD ainsi que des nouvelles versions des extensions.
Quand une version de GD possède toujours les 2 mêmes premiers chiffre et que le troisième change, c’est que c’est une mise à jour mineure.
D’accord !
Merci beaucoup.
J’ai, par contre, désactivé les mises à jours auto, car mon PC est un fixe sans le wi-fi, et la box est au moins à 15 mètre…
Je télécharge sur l’ordi de ma sœur
Comme tu viens de voir, il y a une nouvelle version de GD, pour le moment l’extension Tableaux n’est pas compatible avec.
Je te conseille d’attendre avant de mettre à jour si tu souhaites utiliser mon extension.
Parce que 4ian n’a pas mis en ligne le nouvel SDK permettant de créer des extensions pour la nouvelle version.