Pages traduites Pages à traduire Pages en cours de traduction
A propos
 


Migrer vers AGS 2.71

AGS 2.71 ajoute un support simple des chaînes de caractères dans le langage de script. Les chaînes ont longtemps été pénibles à utiliser dans AGS, mais ce problème est finalement résolu avec la version 2.71.

Il existe un nouveau type String (avec un 'S' majuscule). Ces nouvelles chaînes se comportent comme les chaînes en Java/C# en cela que vous pouvez facilement les manipuler et leur donner des valeurs.

Par exemple, dans les versions 2.7 et précédentes, vous deviez faire comme cela :

string texte;
StrCopy(texte, "Voici mon texte");

avec la version 2.71, vous pouvez maintenant faire :

String texte = "Voici mon texte";

De plus, les opérateurs == et != peuvent être utilisés pour comparer l'égalité des chaînes (équivaut à utiliser StrComp mais bien plus intuitif). Un intérêt supplémentaire est qu'il n'est plus nécessaire d'utiliser GetText() et SetText() – à la place, vous pouvez simplement utiliser la propriété Text.

Toutes les anciennes fonctions qui prenaient un paramètre “tampon de chaîne” (”string buffer”) ont désormais été remplacées par de nouvelles qui retournent une chaîne. Les propriétés des chaînes peuvent s'utiliser comme n'importe quelle propriété. Ainsi :

lblLabel.Text = "Salut";
String buttonValue = btnOK.Text;

ou autre.

NOTE : Certaines des nouvelles fonctions ont été implémentées dans les objets Game – par exemple, la nouvelle fonction GameSaveSlotDescription doit être appelée ainsi :

String description = Game.GetSaveSlotDescription(10); 

Ceci fait partie d'une migration générale vers des fonctions orientées objet, mais méfiez vous des confusions possibles. Le manuel vous renseignera sur les fonctions qui le requièrent.

Plutôt qu'utiliser les vieilles fonctions comme StrCat et StrContains, vous pouvez maintenant appeler les fonctions directement sur les chaînes :

String texte = "Salut";
texte = texte.Append(" tout le monde");

signifie que texte contient désormais “Salut tout le monde”. Notez texte = dans cette expression. Les fonctions comme Append retourneront une version modifiée de la chaîne, elles ne changeront pas véritablement l'originale. Ainsi, pour mettre à jour la variable texte vous devez lui assigner le résultat.

Rétro-compatibilité

Afin de maintenir la rétro-compatibilité, un nouveau mot-clé “const” a été ajouté. Celui-ci s'applique seulement aux vieilles chaînes, et vous permet de les incorporer aux nouvelles. Le nouveau type de chaînes (String) peut être passé aux fonctions qui attendent une ancienne chaîne constante (”const string”) (ce qui signifie qu'il ne sera pas permis de changer le contenu de la chaîne), mais ne peuvent pas être passées à une fonction qui attend une chaîne (string) simple (puisque son contenu peut être modifié par la fonction).

Les fonctions personnelles que vous aviez définies et qui prenaient une chaîne comme paramètres ne fonctionneront donc peut-être plus. Si c'est le cas, changez l'ancien paramètre “string” pour “const string” et le problème devrait être résolu.

Toutes mes excuses pour le désagrément, mais c'est le seul moyen de permettre aux nouvelles chaînes d'interagir sans soucis avec les anciennes.

 
migrer_vers_ags_2.71.txt · Dernière modification: 07/10/2012 16:20 (édition externe)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki