[Développement] Tableaux (array)

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é.

Ah, je corrige ça de suite.

J’ai corrigé, ça marche bien sans aucuns conflits avec les autres jeux ouverts. J’ai tout de même laissé cela en global.

C’est la 1ère fois que je vois un conteneur dans un conteneur dans un conteneur. :smiley:

Ok, c’est mieux ainsi :slight_smile:

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.).

La première version de l’extension Tableau est disponible : http://levasseursoftware.comxa.com/index.php?file=kop7.php
Elle n’est disponible que pour Windows, car je n’ai pas de SDK pour Linux…

Merci ! :smiley:
J’essaierai quand j’aurai un peu de temps (j’avais pas vu assez tôt que tu faisais ça).

Ce n’est pas le même SDK? (le code source se compile sur les 2non? )

Oui, mais le SDK dispo en ligne ne contient pas les fichiers compilés pour linux nécessaires, seulement ceux de Windows, pour le moment.

Oui, c’est sur, en attendant que la version linux soit utilisable :slight_smile:

Une nouvelle version de l’extension tableau est disponible :
http://levasseursoftware.comxa.com/?file=kop7.php
Version 1.0b.

[size=150]Nouveautés : [/size]

  • Installation de l’extension avec un installateur
  • Actions pour copier le contenu d’un tableau vers un autre.
  • Amélioration diverses.
  • Documentation dans le dossier : Game Develop/res/Array/Help/doc.htm
  • Exemple dans le dossier Game Develop/Exemples/Array

La version 1.1 est sortie : [url][Extension][4.0.1] Extension Tableaux - #34 by victor]

Bonjour à tous !

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 ?

merci d’avance ! :wink:

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. :wink:

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. :wink:
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 :wink:

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.

Oui, et c’est pour ça que moi aussi j’attends…