Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
— | migrer_vers_ags_2.71 07/10/2012 16:20 version actuelle | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | [[ags|{{:contents.gif}}]] [[scripting|{{:up.gif}}]] [[migrer_vers_ags_2.7|{{:back.gif}}]] [[pointeurs|{{:forward.gif}}]] | ||
+ | ---- | ||
+ | ====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 (//**S**tring//) | ||
+ | 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 (//**s**tring//) 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. | ||
+ | |||
+ | {{tag>français}} |