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

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

ags45 28/04/2011 11:54 ags45 30/01/2012 12:05 version actuelle
Ligne 1: Ligne 1:
=====Les Mots-clés du Script===== =====Les Mots-clés du Script=====
- 
====Tableaux==== ====Tableaux====
Ligne 32: Ligne 31:
// Voir aussi : // [[ags39#DynamicArrays|Tableaux dynamiques]] // Voir aussi : // [[ags39#DynamicArrays|Tableaux dynamiques]]
 +----
====Types de données==== ====Types de données====
- 
- 
- 
- ** Type ** 
-** Description ** 
^  Type  ^  Description  ^ ^  Type  ^  Description  ^
Ligne 51: Ligne 46:
sont utiles uniquement pour conserver la mémoire dans les cas où vous créez un nombre énorme de variables.\\ \\ sont utiles uniquement pour conserver la mémoire dans les cas où vous créez un nombre énorme de variables.\\ \\
Pour déclarer une variable, tapez son type suivi par son nom, et enfin un point-virgule. Pour déclarer une variable, tapez son type suivi par son nom, et enfin un point-virgule.
-Par exemple :\\ \\  +Par exemple : 
-int ma_variable;\\ \\ + 
 +  int ma_variable; 
déclare une variable de 4 octets qui contiendra un entier, appelée ma_variable  \\ \\ déclare une variable de 4 octets qui contiendra un entier, appelée ma_variable  \\ \\
-**ATTENTION :**  +**ATTENTION :** Lorsque vous utilisez le type de données //float//, vous pourriez penser que les opérateurs == et !=
-Lorsque vous utilisez le type de données //float//, vous pourriez penser que les opérateurs == et !=+
ne fonctionnent pas correctement. Par exemple : ne fonctionnent pas correctement. Par exemple :
   
  float resultat = 2.0 * 3.0;   float resultat = 2.0 * 3.0;
  if (resultat == 6.0) {   if (resultat == 6.0) {
-  Display("Le résultat est 6!");+    Display("Le résultat est 6!");
  }   }
Ligne 68: Ligne 64:
  float resultat = 2.0 * 3.0;   float resultat = 2.0 * 3.0;
  if ((resultat > 5.99) && (resultat < 6.01)) {   if ((resultat > 5.99) && (resultat < 6.01)) {
-  Display("Le résultat est 6!");+    Display("Le résultat est 6!");
  }   }
Ligne 75: Ligne 71:
à ce point si vous utilisez des décimaux dans vos calculs.\\ \\ à ce point si vous utilisez des décimaux dans vos calculs.\\ \\
 +----
====Opérateurs==== ====Opérateurs====
L'interprétateur de script AGS supporte les opérateurs suivants dans les conditions. L'interprétateur de script AGS supporte les opérateurs suivants dans les conditions.
-Ils sont listés ici en ordre de priorité de traitement, le premier évalué étant tout en haut de la liste. +Ils sont listés ici en ordre de priorité de traitement, le premier évalué étant tout en haut de la liste.\\ \\  
-\\ \\  +**ATTENTION :** En utilisant des opérateurs de même priorité, AGS les évaluera pas défaut
-**ATTENTION :** +
-En utilisant des opérateurs de même priorité, AGS les évaluera pas défaut+
de droite à gauche. Donc l'expression a = 5 - 1 - 2; sera évaluée comme a = 5 - (4 - 2); de droite à gauche. Donc l'expression a = 5 - 1 - 2; sera évaluée comme a = 5 - (4 - 2);
ce qui ne correspond pas à ce à quoi vous vous attendez. Utilisez toujours les parenthèses pour coder clairement. ce qui ne correspond pas à ce à quoi vous vous attendez. Utilisez toujours les parenthèses pour coder clairement.
Ligne 110: Ligne 105:
   
Cet ordre de priorité vous permet de prévoir l'évaluation de telles expressions : Cet ordre de priorité vous permet de prévoir l'évaluation de telles expressions :
-\\ \\  + 
-if (!a && b < 4)\\ \\  + if (!a && b < 4) 
-ce qui exécutera le bloc 'if' si **a** vaut 0 et si **b** est plus petit que 4.\\ \\ + 
 +exécutera le bloc 'if' si **a** vaut 0 et si **b** est plus petit que 4.\\ \\
Cependant, il est toujours bon d'utiliser des parenthèses pour grouper les expression. Cependant, il est toujours bon d'utiliser des parenthèses pour grouper les expression.
-Il est bien plus lisible d'écrire le script plus haut comme ceci :\\ \\  +Il est bien plus lisible d'écrire le script plus haut comme ceci : 
-if ((!a) && (b < 4))\\ \\ + 
 +  if ((!a) && (b < 4)) 
 + 
 +----
====Constantes==== ====Constantes====
Ligne 124: Ligne 123:
| DEBUG | Retourne une valeur positive si le jeu a été compilé pour le debug mode, sinon retourne une valeur nulle | | DEBUG | Retourne une valeur positive si le jeu a été compilé pour le debug mode, sinon retourne une valeur nulle |
| STRICT | Retourne une valeur positive si l'option "Obliger le script orienté-objet" est cochée, sinon retourne une valeur nulle | | STRICT | Retourne une valeur positive si l'option "Obliger le script orienté-objet" est cochée, sinon retourne une valeur nulle |
-| STRICT_STRINGS |  |+| STRICT_STRINGS | Définie seulement si l'option "Enforce new-style strings" ("//Forcer le nouveau style pour les chaînes de caractères//") est cochée | 
 +| STRICT_AUDIO | Définie seulement si l'option "Enforce new-style audio scripting" ("//Forcer le nouveau style pour les scripts audios//") est cochée |
| LRPRECEDENCE | Retourne une valeur positive si l'option "Priorité d'opérateurs de gauche à droite" est cochée, sinon retourne une valeur nulle | | LRPRECEDENCE | Retourne une valeur positive si l'option "Priorité d'opérateurs de gauche à droite" est cochée, sinon retourne une valeur nulle |
| AGS_NEW_STRINGS | Retourne une valeur positive si la version d'AGS est supérieure ou égale à 2.71 et permet les objets new-strings, sinon retourne une valeur nulle. | | AGS_NEW_STRINGS | Retourne une valeur positive si la version d'AGS est supérieure ou égale à 2.71 et permet les objets new-strings, sinon retourne une valeur nulle. |
Ligne 163: Ligne 163:
les propriétés du style [[ags53#CharacterCount|Game.CharacterCount]].\\ \\ les propriétés du style [[ags53#CharacterCount|Game.CharacterCount]].\\ \\
 +----
====Vérification de la Version==== ====Vérification de la Version====
Ligne 179: Ligne 180:
utiliser les vérification #ifver si vous voulez faire une différence entre des versions utiliser les vérification #ifver si vous voulez faire une différence entre des versions
plus récentes. plus récentes.
 +
 +----
====Comparaisons if, else==== ====Comparaisons if, else====
-**if (** //condition// **)**  {  + 
-  +> **if (** //condition// **)**  {  
-//commandes1//  +> 
-  +>> //commandes1//  
-}  +> }  
-  +> [ **else**  {  
-[ **else**  {  +>> //commande2//  
-  +> } ] 
-//commande2//  +
-  +
-} ]\\ \\ +
Si //condition// est vraie, alors //commande1// est exécutée.\\ \\ Si //condition// est vraie, alors //commande1// est exécutée.\\ \\
Si //condition// n'est pas vraie, et qu'il y a une case **else**, alors Si //condition// n'est pas vraie, et qu'il y a une case **else**, alors
Ligne 198: Ligne 199:
   
  if (GetGlobalInt(5) == 10) {   if (GetGlobalInt(5) == 10) {
-  Display("Globalint 5 vaut 10.");+    Display("Globalint 5 vaut 10.");
  }   }
  else {   else {
-  Display("Globalint 5 ne vaut pas 10.");+    Display("Globalint 5 ne vaut pas 10.");
  }   }
Ligne 210: Ligne 211:
   
  if (GetGlobalInt(5) == 1) {   if (GetGlobalInt(5) == 1) {
-  Display("Globalint 5 vaut 1.");+    Display("Globalint 5 vaut 1.");
  }   }
  else if (GetGlobalInt(5) == 2) {   else if (GetGlobalInt(5) == 2) {
-  Display("Globalint 5 vaut 2.");+    Display("Globalint 5 vaut 2.");
  }   }
  else {   else {
-  Display("Globalint 5 ne vaut ni 1 ni 2.");+    Display("Globalint 5 ne vaut ni 1 ni 2.");
  }   }
 +----
====while==== ====while====
-**while (** //condition// **)**  { + 
 +> **while (** //condition// **)**  {
-//commandes// +>> //commandes//
-}\\ \\ +> } 
Exécute les //commandes// en continu, tant que la //condition// est vraie.\\ \\ Exécute les //commandes// en continu, tant que la //condition// est vraie.\\ \\
Par exemple :\\ \\ Par exemple :\\ \\
   
  while (cEgo.Moving) {   while (cEgo.Moving) {
-  Wait(1);+    Wait(1);
  }   }
Ligne 238: Ligne 241:
de la boucle et s'arrêtera.\\ \\ de la boucle et s'arrêtera.\\ \\
 +----
====function==== ====function====
-**function** //nom// ( [//type1 param1//, //type2 param2//, ... ] )\\ \\ + 
 +> **function** //nom// ( [//type1 param1//, //type2 param2//, ... ] ) 
Déclare une fonction personnelle dans votre script. Une fonction vous permet de définir Déclare une fonction personnelle dans votre script. Une fonction vous permet de définir
une suite de commandes qui seront effectuées les unes après les autres lorsque vous appellerez une suite de commandes qui seront effectuées les unes après les autres lorsque vous appellerez
Ligne 248: Ligne 254:
une fonction qui s'en chargerait :\\ \\ une fonction qui s'en chargerait :\\ \\
   
-  function AddInvAndPlaySound(int inventoryItem) { +  function AddInvAndPlaySound(InventoryItem* item) { 
-  player.AddInventory(inventory[inventoryItem]); +  player.AddInventory(item); 
-  PlaySound(5);+  aInventorySound.Play();
  }   }
ainsi, vous aurez simplement à appeler cette fonction ailleurs dans votre code : ainsi, vous aurez simplement à appeler cette fonction ailleurs dans votre code :
   
-  AddInvAndPlaySound(8);+  AddInvAndPlaySound(iKey);
Pour ajouter l'objet 8 à votre inventaire tout en jouant le son 5.\\ \\ Pour ajouter l'objet 8 à votre inventaire tout en jouant le son 5.\\ \\
Ligne 274: Ligne 280:
de la fonction elle-même.\\ \\ de la fonction elle-même.\\ \\
 +----
====struct==== ====struct====
-**struct** //nom// {\\ \\ + 
 +> **struct** //nom// { 
Déclare une structure personnelle dans votre script. Déclare une structure personnelle dans votre script.
Ligne 318: Ligne 327:
Les structures sont essentielles si vous avez des données complexes à manipuler dans vos scripts.\\ \\ Les structures sont essentielles si vous avez des données complexes à manipuler dans vos scripts.\\ \\
 +
 +----
====enum==== ====enum====
**Recommandé uniquement pour les utilisateurs avancés**\\ \\ **Recommandé uniquement pour les utilisateurs avancés**\\ \\
-**enum** //nom// { +> **enum** //nom// {
-//option1// [ = //valeur1// ], +>> //option1// [ = //valeur1// ],
-//option2// [ = //valeur2// ], +>> //option2// [ = //valeur2// ],
-... +>> ...
-};\\ \\ +> }; 
Déclare un type d'énumération. Une énumération vous permet de grouper des options, dont une seule Déclare un type d'énumération. Une énumération vous permet de grouper des options, dont une seule
pourra être vraie à la fois -- un peu comme le contenu d'une listbox.\\ \\ pourra être vraie à la fois -- un peu comme le contenu d'une listbox.\\ \\
Ligne 337: Ligne 349:
  function faireTruc(int param) {   function faireTruc(int param) {
  if (param == 1) {   if (param == 1) {
-  // faire quelque chose+    // faire quelque chose
  }   }
  else if (param == 2) {   else if (param == 2) {
-  // faire autre chose+    // faire autre chose
  }   }
-  // etc+    // etc
  }   }
Ligne 349: Ligne 361:
   
  enum faireTrucOption {   enum faireTrucOption {
-  CuireGateau, +    CuireGateau, 
- LaverLinge+   LaverLinge
  };   };
   
  function faireTruc(faireTrucOption param) {   function faireTruc(faireTrucOption param) {
-  if (param == CuireGateau) { +    if (param == CuireGateau) { 
- // faire quelque chose +     // faire quelque chose 
- +  
- else if (param == LaverLinge) { +   else if (param == LaverLinge) { 
- // faire autre chose +     // faire autre chose 
- +  
- // etc+   // etc
  }   }
Ligne 401: Ligne 413:
Veuillez consulter la page des [[ags40#ExtenderFunctions|fonctions d'extension]] pour les détails. Veuillez consulter la page des [[ags40#ExtenderFunctions|fonctions d'extension]] pour les détails.
 +----
====import==== ====import====
-**import** //declaration// ;\\ \\ + 
 +> **import** //declaration// ; 
Déclare //declaration// en tant que variable ou fonction qui est externe au script courant, Déclare //declaration// en tant que variable ou fonction qui est externe au script courant,
mais à laquelle le script doit accéder. Vous utilisez ceci pour permettre à vos scripts de pièce mais à laquelle le script doit accéder. Vous utilisez ceci pour permettre à vos scripts de pièce
Ligne 422: Ligne 437:
**NOTE :** Vous ne pouvez pas importer les variables d'anciennes chaînes (cela ne s'applique pas **NOTE :** Vous ne pouvez pas importer les variables d'anciennes chaînes (cela ne s'applique pas
aux nouvelles chaînes).\\ \\ aux nouvelles chaînes).\\ \\
 +
 +----
====export==== ====export====
-**export** //variable// [, //variable// ... ] ;\\ \\ + 
 +> **export** //variable// [, //variable// ... ] ; 
Déclare que //variable// peut être exportée et que les autres scripts peuvent y accéder. Vous devez placer Déclare que //variable// peut être exportée et que les autres scripts peuvent y accéder. Vous devez placer
cette déclaration à la **fin** de votre script global. Vous pouvez exporter beaucoup de variable en cette déclaration à la **fin** de votre script global. Vous pouvez exporter beaucoup de variable en
Ligne 435: Ligne 454:
Ceci exporte trois variables - ma_variable, compteur et force.\\ \\ Ceci exporte trois variables - ma_variable, compteur et force.\\ \\
 +----
====noloopcheck==== ====noloopcheck====
-function **noloopcheck** //nom_fonction// ( //paramètres ...// ) {\\ \\ + 
 +> function **noloopcheck** //nom_fonction// ( //paramètres ...// ) { 
Le mot-clé noloopcheck empêche le script de vérifier les boucles de la fonction spécifiée.\\ \\ Le mot-clé noloopcheck empêche le script de vérifier les boucles de la fonction spécifiée.\\ \\
Normalement, si une boucle [[ags45#whilestatement|while]] s'exécute plus de 150 000 fois, Normalement, si une boucle [[ags45#whilestatement|while]] s'exécute plus de 150 000 fois,
Ligne 456: Ligne 478:
   
  function noloopcheck initialiser_tableau() {   function noloopcheck initialiser_tableau() {
-  char grostableau[200000]; +    char grostableau[200000]; 
- int a = 0; +   int a = 0; 
- while (a &lt; 200000) { +   while (a &lt; 200000) { 
- grostableau[a] = 1; +     grostableau[a] = 1; 
- a++; +     a++; 
- }+   }
  }   }
ici sans le mot-clé "noloopcheck", AGS avorterait ce script.\\ \\ ici sans le mot-clé "noloopcheck", AGS avorterait ce script.\\ \\
-{{tag>en_cours révision}}+{{tag>français}}
 
ags45.1303984449.txt.gz · Dernière modification: 28/04/2011 11:54 par kitai
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki