Differences

This shows you the differences between the selected revision and the current
version of the page.


fr:wmebook:ch2 2011/10/18 13:46 fr:wmebook:ch2 2011/10/19 13:12 current
Line 118: Line 118:
-====== 2.1 Les tableaux magiques ======+ 
 +====== 2.1. Les tableaux magiques ======
Avant de commencer à parler de tableaux, je vais vous donner un exemple d'un réel problème dans les jeu. Imaginez que vous ayez une porte protégée par digicode. vous devez tapez les 4 chiffres correctement pour que la porte s'ouvre. Vous avez différentes façons de faire cela. Commençons par la pire: Avant de commencer à parler de tableaux, je vais vous donner un exemple d'un réel problème dans les jeu. Imaginez que vous ayez une porte protégée par digicode. vous devez tapez les 4 chiffres correctement pour que la porte s'ouvre. Vous avez différentes façons de faire cela. Commençons par la pire:
Line 224: Line 225:
-====== 2.2 les Conditions ======+ 
 + 
 +====== 2.2. Les Conditions ======
Habituellement nous savons ou nous allons. Nous avons parlé précédemment de l’exemple d'une porte et d'un bouton, nous avons perler de tester si le bouton etait appuyé. Mais comment faire ce test? Nous avons une commande de condition appelé **if** (si) qui le fait pour nous. Encore une fois commençons par du code: Habituellement nous savons ou nous allons. Nous avons parlé précédemment de l’exemple d'une porte et d'un bouton, nous avons perler de tester si le bouton etait appuyé. Mais comment faire ce test? Nous avons une commande de condition appelé **if** (si) qui le fait pour nous. Encore une fois commençons par du code:
Line 505: Line 508:
**Important:** **Important:**
Ne jamais initialiser vos variables dans les fichiers include. Elles seraient réinitialisée a chaque inclusion de votre script. Ne jamais initialiser vos variables dans les fichiers include. Elles seraient réinitialisée a chaque inclusion de votre script.
 +
 +
Line 549: Line 554:
Si nous voulons accéder à un attribut ou une méthode d'un objet, nous utilisons le point comme vu dans l'exemple précédent.// Si nous voulons accéder à un attribut ou une méthode d'un objet, nous utilisons le point comme vu dans l'exemple précédent.//
-As we see here, we’re inside of the object so we can no longer use table.Material etc. because we don’t know how the variable holding our table will be called. That’s why we have a special identificator called **this** which points to the object itself. This way it will always set the attribute to the correct variable.+Comme nous le voyons là, nous sommes à l’intérieur de l'objet donc on ne peut plus utiliser table.Material etc... parce que nous ne savons pas comment la variable englobant notre table sera appelée. C'est pourquoi nous avons un identifiant spécial appelé **this** qui pointe sur l'objet lui-même. De cette façon ça définira toujours l'attribut à la bonne variable.
-In the script we want to create such an object, we have to first create it:+Dans le script nous voulons créer un tel objet, nous devons d’abord le créer:
<code script> <code script>
Line 557: Line 562:
</code> </code>
-and then we can setup object's properties through+et puis nous pouvons configurer les propriétés de l'objet ainsi
<code script> <code script>
-table.initialize("wood","black",100);+table.initialize("bois","noire",100);
</code> </code>
-This already looks much more flexible, but we can go one more step further. Let’s say we’re going to create a game about a table seller who will have 10 different tables. Why not use an array for them?+Cela paraît déjà beaucoup plus souple, mais nous pouvons aller encore un peu plus loin. Disons que nous allons créer un jeu sur un vendeur de table qui aura 10 tables différentes. Pourquoi ne pas utiliser un tableau pour elles?
<code script> <code script>
Line 572: Line 577:
</code> </code>
-But here’s a pitfall! You can’t do something like: **tables[a].initialize();** because WME doesn’t support dot notation for arrays or nested objects. Also you can’t make something like **Game.Scene.SomeAttribute** because WME supports only one dot nesting. But there’s a workaround through temporary variable. +Mais voilà il y a un piège! Vous ne pouvez pas faire quelque chose comme: **tables[a].initialize();** parce WME ne supporte pas la notation de point pour tableaux ou des objets imbriqués. Pas plus que vous ne pouvez pas faire quelque chose comme Game.Scene.SomeAttribute parce WME ne supporte qu'un seul point imbrication. Mais il y a une solution de contournement grâce à la variable temporaire.
-The first case would be rewritten as:+ 
 +Le premier cas serait réécrit comme:
<code script> <code script>
var tmp = tables[a]; var tmp = tables[a];
-tmp.initialize("wood","black",100);+tmp.initialize("bois","noire",100);
</code> </code>
-and the other like:+et l'autre comme:
<code script> <code script>
Line 587: Line 593:
</code> </code>
-I think that this should be enough to get you started with scripting. The rest is just an application of what you have just learned. I’m sure that you’ll have no problems understanding what’s going on now. +Je pense que cela devrait être suffisant pour vous permettre de commencer avec les scripts. Le reste est juste une application de ce que vous venez d'apprendre. Je suis sûr que vous n'aurez aucune difficulté à comprendre ce qui se passe maintenant.
 
fr/wmebook/ch2.1318938368.txt.gz · Last modified: 2011/10/18 13:46 by Anto0085
Recent changes RSS feed Creative Commons License Driven by DokuWiki