Differences

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


fr:wmebook:ch8 2011/10/24 13:50 fr:wmebook:ch8 2011/10/28 15:44 current
Line 10: Line 10:
Le jeu commence dans un rêve. Molly apparait dans une grande salle et soudain elle se divise en deux. L'autre Molly lui dis, qu'elle est son image de l'univers parallèle. Dans ce dialogue Molly d'une maison dans une vielle ville allemande ou se trouve un livre secret appelé WME book. Cette maison sert de portail vers un royaumes différent, où Molly peut trouver un réponse à toutes les questions sur l’humanité. Une fois la lecture du WME book dans la salle, la porte va transporter Molly vers ce royaume. Le jeu commence dans un rêve. Molly apparait dans une grande salle et soudain elle se divise en deux. L'autre Molly lui dis, qu'elle est son image de l'univers parallèle. Dans ce dialogue Molly d'une maison dans une vielle ville allemande ou se trouve un livre secret appelé WME book. Cette maison sert de portail vers un royaumes différent, où Molly peut trouver un réponse à toutes les questions sur l’humanité. Une fois la lecture du WME book dans la salle, la porte va transporter Molly vers ce royaume.
- +
Molly voyage vers la ville et trouve une maison fermée. Elle doit improviser un outils de crochetage pour crocheter cette porte et entrer dans la maison. Puis Molly devra chercher la salle pour trouver un bouton caché qui ouvre le tiroir ou se trouve le livre secret. Ce bouton est caché dans l'image et il y a un petit clin d’œil en entrant dans la salle. Molly voyage vers la ville et trouve une maison fermée. Elle doit improviser un outils de crochetage pour crocheter cette porte et entrer dans la maison. Puis Molly devra chercher la salle pour trouver un bouton caché qui ouvre le tiroir ou se trouve le livre secret. Ce bouton est caché dans l'image et il y a un petit clin d’œil en entrant dans la salle.
Line 28: Line 28:
wme book (article de l'inventaire et article dans le monde réel) wme book (article de l'inventaire et article dans le monde réel)
-**Solution du jeu:**+**Procédure pas à pas du jeu:**
  * Parlez-en à autre Molly   * Parlez-en à autre Molly
Line 45: Line 45:
  * Sortir par la porte.   * Sortir par la porte.
  * Parler au squelette.   * Parler au squelette.
-** ------------------- EN COURS DE TRADUCTION --------------------**+
**Storyboard:** **Storyboard:**
Line 52: Line 52:
{{wmebook:storyboard.jpg|}} {{wmebook:storyboard.jpg|}}
-Ok. Nous en savon assez sur notre jeu pour démarrer le développement.  +Ok. Nous en savon assez sur notre jeu pour démarrer le développement. Encore une fois nous allons travailler sur les connaissances acquises dans les chapitres précédents donc pour vous - les tricheurs - viendront des moments difficiles.
- +
-Ok. We know enough about our game to start the development. Again we will build upon the knowledge gained in the previous chapters so for you – cheaters - out there will come hard times.+
-Let’s get our hands dirty and fire up the Project Manager and right off the bat create 4 800x600 scenes by right click -> Add scene. Name them **Dream**, **Circle**, **Desk** and **Street**. +Salissons nous les mains et faisons chauffer le gestionnaire de projet et d'entrée de jeu créez quatre scènes 800x600 avec clic droit->Add scene. Nommez les **Dream**, **Circle**, **Desk** et **Street**.  
-So far we have 5 scenes (including default Room).+Jusque là nous avons cinq scènes (en incluant la salle par défaut)
-Now copy to their folders following files from our resources:+Maintenant copiez dans leurs répertoire les fichiers suivant de notre Ressources:
Dream -> Rlyeh.jpg Dream -> Rlyeh.jpg
Line 67: Line 65:
Circle->Skelett_nah.jpg, Skelett_weit.jpg Circle->Skelett_nah.jpg, Skelett_weit.jpg
-Okay. We’re set. Don’t forget that you really have to put all necessary information inside the directory structure of your project or it doesn’t get compile and the only computer it will run is yours.+Ok. N'oubliez pas qu'il faut vraiment mettre toutes les informations nécessaires dans la structure de répertoire de votre projet ou alors ça ne compilera pas et le seul Ordinateur qui pourra le lancer est le votre.
-So back to work:+Bon retour au boulot:
-Open scene Dream in the Scene Editor and assign Background image Rlyeh.jpg. Shape the floor so it would copy the floor shape of the hall.+Ouvrez la scène Dream dans l’éditeur de scène et affecter l'image de fond Rlyeh.jpg. Formez le sol de sorte qu'il ressemble à la forme du sol du hall.
-We’ll now use the Startup Scene debugging feature in Project Manager and set there the scene to Dream (click on ... and navigate to data\scenes\dream\dream.scene).+Nous allons, maintenant, utiliser startup scene dans debugging setting du gestionnaire de projet et y définir la scène à Dream (cliquez sur ... et parcourir vers data\scenes\dream\dream.scene).
{{wmebook:ch8_1.jpg|}} {{wmebook:ch8_1.jpg|}}
-This doesn’t affect the compiled game. We’ve already stated that to affect the real game we’d need to change game.script file, but we’ll use this convenient feature for now to speed up our work. Also note, that +Cela n'affecte pas le jeu compilé. Nous avons déjà constaté que pour affecter le jeu réel, nous devons changer le fichier game.script, mais nous allons utiliser cette fonction pratique pour l'instant pour accélérer notre travail. Notez aussi, ça
-Open the **scene_init.script** file of the Room scene and erase the lines referencing sally:+Ouvrez  le fichier **scene_init.script** de la scène Room et effacez les lignes concernant Sally:
<code script> <code script>
Line 87: Line 85:
</code> </code>
-Let’s add some sort of noninteractive sequence when Molly first enters the screen. I’ll do for this particular game a bit unnecessary thing as Molly will never return to this scene, but I want to demonstrate on this principle how would you handle the events which are triggered on the very first enter to the scene.+Ajoutons une sorte de séquence non interactive quand la première Molly entre à l'écran. Je vais le faire pour ce jeu en particulier, une chose un peu inutile comme Molly ne reviendra jamais dans cette scène, mais je veux montrer sur ce principe, comment vous allez gérer les événements qui sont déclenchés sur la première entrer dans la scène.
-Locate this line of code:+Localisez cette ligne de code:
<code script> <code script>
Line 95: Line 93:
{ {
  StateDream.Visited = false;   StateDream.Visited = false;
-  // add scene states here+  // ajouter les états de la scène ici
} }
Line 102: Line 100:
  StateDream.Visited = true;   StateDream.Visited = true;
-  // this is our first visit in this scene...+  // Ceci est votre première visite dans la scène...
} }
</code> </code>
-StateDream is a global variable as seen above and this way the whole game knows about it. Default WME template uses two-state approach. First it checks if this variable was ever set and if not, we assign its Visited attribute to false (indicating that the scene was never visited) By this assignment StateDream is no longer null but it’s [object] instead.+StateDream est une variable globale comme vu plus tôt et de cette façon le jeu entier la connait. Le modèle par défaut de WME utilises une approche deux-états. D'abord il vérifie si cette variable n'a jamais été définie et si elle ne l'est pas, nous mettons son attribut Visited sur false (indiquant que la scène n'as jamais été visitée) Par cette affectation StateDream n'est plus Null mais c'est [objet] plutôt.
-Next the Visited attribute is checked and set to true (if it was false) to indicate, that you’ve already been in the scene and this way the whole mechanism provide that lines of code in the second condition get called only if you enter the scene for the very first time.+Ensuite l'attribut Visited est vérifié et défini sur True (Si il était False) pour indiquer, que vous êtes déjà venu dans la scène et de cette façon la mécanique entière fait que les lignes de code dans la seconde condition seront appelées seulement si vous entrez pour la toute première fois dans la scène.
-We’re going to build upon this script a bit and solve one possible pitfall. At the beginning of the scene_init.script we let Molly walk around. But we don’t want player to interrupt this walk by left clicking. So we’re going to set the whole scene_init.script into non interactive mode so we know, that player won’t interfere with our game by canceling events.+Nous allons nous appuyer un peu sur ce script et résoudre un piège possible. Au début de scene_init.script nous laissons Molly marcher en rond. Mais nous ne voulons pas que le joueur l'interrompt en cliquant gauche. Nous allons donc définir le scene_init.script en entier en mode non-interactif, ainsi nous savons que le joueur ne pourra interférer avec notre jeu en annulant les événements.
-Add **Game.Interactive = false;** just below the include line and **Game.Interactive = true;** to the end of the file. Phew. We’re safe.+Ajouter **Game.Interactive = false;** juste en dessous les lignes Includes et **Game.Interactive = true;** à la fin du fichier. Ouf nous sommes sauvé.
-Next we’ll focus on the first entry:+Ensuite nous allons nous focaliser sur la première entrée:
<code script> <code script>
Line 121: Line 119:
  StateDream.Visited = true;   StateDream.Visited = true;
-  // this is our first visit in this scene...+  // Ceci est votre première visite dans la scène...
  actor.GoTo(492,498);   actor.GoTo(492,498);
Line 135: Line 133:
  var molly2 = Game.LoadActor("actors\molly\molly2.actor");   var molly2 = Game.LoadActor("actors\molly\molly2.actor");
  molly2.Active = true;   molly2.Active = true;
-  molly2.SkipTo(actor.X,actor.Y); //we assign Alternate molly actor coordinates+  molly2.SkipTo(actor.X,actor.Y); //Nous assignons les coordonnées de l'actrice Alternate Molly
  molly2.Direction = DI_DOWN;   molly2.Direction = DI_DOWN;
  molly2.GoTo(268,518);   molly2.GoTo(268,518);
Line 145: Line 143:
</code> </code>
-As you can see, we’ve created a short scripted cut-scene using the elements we already know. Of course we need molly2.actor file, which we would create by copying molly.script and modifying the beginning of the file like this:+Comme vous pouvez voir, nous avons créé une courte cinématique utilisant des éléments que nous connaissons déjà. Évidemment nous avons besoin du fichier molly2.actor,que nous allons créer en copiant molly.script et modifiant le début du fichier comme cela:
<code script> <code script>
Line 157: Line 155:
</code> </code>
-We should be quite skilled in this already.+Nous devrions, déjà, être assez qualifié pour cela.
-Now let’s create the dialogue with alternate molly. We’re going to use exactly the same approach as we did in the previous chapter. We’re going to show one difference – our dialouge will get the ending option when all dialogue options are depleted no matter in what order.+Maintenant créons le dialogue avec Alternate Molly. Nous allons utilisé exactement la même approche que nous avons fait dans le chapitre précédent. Nous allons voir une différence - Notre dialogue aura l’option de clôture quand toutes les options de dialogue seront épuisées peu importe dans quel ordre.
-Create an empty molly2.script file and type in the following:+Créez un fichier vide molly2.script et entrez-y ce qui suit:
<code script> <code script>
Line 236: Line 234:
</code> </code>
-Let’s have a look at this file. We’ll progress from the bottom where we find the LeftClick event. If we left clicked on alternate molly, we first go to the specified position, then turn to alternate molly and finally called the function we’ve called basic.+Jetons un œil à ce fichier. Nous allons progresser en partant du bas, où nous trouvons l'événement LeftClick. Si nous avons fait clic gauche sur Alternate Molly, nous allons, d'abord, vers une position spécifique, puis se nous tourner vers Alternate Molly et finalement appelé la fonction que nous avons appelée basic().
-Function basic is the dialogue itself. It’s pretty simple but we’ve used the object logic to check up if all options are depleted. For this we’ve set up an object depleted which has assigned three attributes – Who, Where and Why.+La fonction basic() est le dialogue lui-même. C'est très simple mais nous avons utilisé la logique de l'objet pour contrôler si toutes les options était épuisées. Pour cela nous avons défini un objet //depleted// auquel on assigne trois attributs - //Who, Where et Why.//
-In the course of dialogue we assign individual attributes, which sets: depleted.Who, depleted.Why or depleted.Where to true respectively. To save our time, we’ve written a little function checkDepleted(depleted) which returns true if all dialogue branches has been chosen. This function is called in the following condition:+Au cours du dialogue nous affectons les attributs individuels, qui définissent respectivement: depleted.Who, depleted.Why ou depleted.Where sur true. Pour gagner notre temps, nous avons écrit une petite fonction //checkDepleted(depleted)// qui retourne true si toutes les branches du dialogues ont été choisies. Cette fonction est appelée dans les conditions suivantes:
<code script> <code script>
Line 246: Line 244:
</code> </code>
-This way our exit response is added only after all other options have been chosen. At the exit branch we let our Alternate Molly disappear and we change scene to street.scene which is our next stop.+Comme ça notre réponse de sortie est ajouté seulement après que toutes les autres options aient été choisie. A la branche de sortie nous faisons que notre Alternate Molly disparaisse et nous changeons la scène pour street.scene qui est notre prochain arrêt.
-In the Scene Editor open the Street.scene and your first step is to shape the floor and adjust scale levels to look like this:+Dans l'éditeur de scène ouvrez Street.scene et votre premiere etape est de former le sol et d'ajuster les niveaux d'echelle pour que ca ressemble à ça:
{{wmebook:ch8_2.jpg|}} {{wmebook:ch8_2.jpg|}}
-Reason for adjusting the scale level is that our actor standing next to the door looks like she can pass through them. +La raison pour laquelle nous ajustons le niveau d’échelle est qu'ainsi notre actrice debout à coté de la porte semble pouvoir passer dedans.
-Now create a region entities for Car, sign and door and attach scripts to them. Don’t forget to fill in captions for them. Also copy the file rock_scene.png to your street folder and add it as a sprite entity (don’t forget to fill the name and caption) and in the Item column fill Rock. +Maintenant créez des région pour la voiture, le panneau et la porte et attaché leurs les scripts. N'oubliez pas de remplir leurs légendes (captions). Ensuite copiez le fichier rock_scene.png dans votre répertoire street et ajoutez-le comme sprite (n'oubliez pas de remplir le nom et la légende) et dans la case Item remplissez Rock.
{{wmebook:ch8_3.jpg|}} {{wmebook:ch8_3.jpg|}}
-As we know from the walkthrough, this scene introduce three items – pliers,wire and a rock. Rock is a scene item, pliers and wire are found by clicking on the car. +Comme nous le savons grâce à la procédure pas à pas, cette scène introduit trois articles - La pince, le fil de fer et un caillou. Le caillou est un article de la scène, la pince et le fil sont trouvé en cliquant sur la voiture.
-We start with copying the graphics of a pliers into the items folder. It’s the file **plier_item.png**. Create a sprite in the sprite edit using this image and turn off pixel precise for it on the Properties tab. Save this file as pliers.sprite.+
-Now open the **items.items** file and define a block for pliers first:+Nous commençons par copier les graphismes de la pince dans le répertoire items. C'est le fichier **plier_item.png**. Créez un Sprite dans l’éditeur de sprites en utilisant cette image et éteignez pixel précise dans l'onglet Properties. Sauvegardez ce fichier en tant que pliers.sprite.  
 + 
 +Maintenant ouvrez le fichier **items.items** et définissez tout d'abord, un bloc pour la pince:
<code script> <code script>
Line 276: Line 275:
</code> </code>
-Then create a new **data\items\pliers.script** file which would contain the following:+Ensuite créez un nouveau fichier **data\items\pliers.script** qui contiendra ceci:
<code script> <code script>
Line 287: Line 286:
</code> </code>
-We have our item ready to use so let’s put it in the scene. Open the **car.script** in our street scr folder and write there the following:+Nous avons notre article qui est prêt, mettons donc dans la scène. Ouvrez **car.script** dans notre répertoire scr de street et écrivez-y ce qui suit:
<code script> <code script>
Line 303: Line 302:
</code> </code>
-We know that upon second examination of the car we find a wire. Copy the wire_item.png to the items folder and create all files as with the pliers. Of course add a new block to the items.items file.+Nous savons que lors de la seconde examination de la voiture nous trouvons du fil. Copiez **wire_item.png** dans le repertoire items et créez tous les fichiers comme pour la pince. Bien sûr ajoutez un nouveau bloc dans le fichier items.items
<code script> <code script>
Line 318: Line 317:
</code> </code>
-Don’t forget to create a wire.script accordingly.+N'oubliez pas de créez un wire.script en conséquence.
<code script> <code script>
Line 327: Line 326:
</code> </code>
-Now we have to modify the car script so it would first take the pliers, then the wire and lastly it would tell that there’s nothing left.+Maintenant nous allons modifier le script de la voiture, donc il faudrait d'abord prendre la pince, ensuite le fil et enfin, il dirait qu'il n'y a plus rien.
<code script> <code script>
Line 361: Line 360:
</code> </code>
-As you can surely see with each left click we increase the number in the global variable carExamination. This in turn is checked in the **switch** clause and actor takes according item or refuses to steal a steering wheel. Again note that I am paranoid and set Interactivity to false for all longer actions which could break a game if player accidentally clicked at the wrong time.+Comme vous pouvez certainement voir, avec chaque clic gauche (left click) nous incrémentons le nombre dans la variable globale carExamination. Celle-ci, à son tour, est verifié dans le bloc **switch** et l'acteur prend l'article en fonction ou refuse de voler un volant.
-Our next item is a lockpick. Again we do our homework with creating a new items.items block and copying lockpick_item.png to the items folder. For sake of saving space I’m not going to include this block as it’s identical to what we’ve done twice already. You can however find in the resources package all modified files from the chapter 8. +La encore notez que je suis parano et réglez Interactivity sur false durant toutes les actions qui pourrais casser le jeu si le joueur clic accidentellement au mauvais moment.
-Open the file **pliers.script** and add the lockpick creating event:+Notre prochain article est l'outil de crochetage. Encore une fois nous faisons nos devoirs avec la création d'un nouveau bloc dans items.items et copions **lockpick_item.png** dans le répertoire items. Par souci d'économie de place je ne vait pas inclure ce bloc comme il est identique à ce que nous avons déjà fait deux fois. Vous pouvez néanmoins trouver dans le package ressources tous les fichier modifiés du chapitre 8.
 +Ouvrez le fichier **pliers.script** et ajoutez l’événement de création de l’outil de crochetage:
 +
 +<code script>
on "Wire" on "Wire"
{ {
Line 376: Line 378:
Game.DeleteItem("Pliers"); Game.DeleteItem("Pliers");
} }
 +</code>
-and the similar way applies to creating a lockpick by combining items the other way around:+Et la façon similaire s'applique pour créer un outil de crochetage en combinant des articles de l'autre façon:
-Open the file **wire.script** and add the following code:+Ouvrez le fichier **wire.script** et ajouter le code suivant:
<code script> <code script>
Line 393: Line 396:
</code> </code>
-**Note that deleting the item - the script belongs to - must be executed as the last step because by deleting the item, the script terminates its execution and this way all lines after deletion would never get executed.**+**Notez que la suppression de l'article - le script compris - doivent être exécutées comme la dernière étape, car en supprimant l'élément, le script termine son exécution et de cette manière toutes les lignes après la suppression ne seront jamais exécutées.**
-The **Lockpick** itself must be defined as well in **items.items**.+L'**outil de crochetage** (Lockpick) lui-même doit être bien défini dans **items.items**.
-First copy lockpick_item.png into the items folder, create its sprite in sprite edit, turn off pixel precise and move hotspot to the center. +D'abord, copiez **lockpick_item.png** dans le répertoire items, créez sont sprite dans l’éditeur de sprite, éteignez pixel precise et déplacez le hot-spot au centre.
<code script> <code script>
Line 412: Line 415:
</code> </code>
-and lockpick.script:+et lockpick.script:
<code script> <code script>
Line 421: Line 424:
</code> </code>
-Speaking of items, in this scene we also have a rock which is pickable.+En parlant d'éléments, dans cette scène nous avons aussi un caillou qui est sélectionnable.
-Go through the routine of copying rock_item into the items folder, creating its sprite etc. (It's a routine now, isn't it?)+Passons la routine de copie rock_item dans le dossier items, créer son sprite ,etc..(C'est une routine maintenant, n'est-ce pas?)
<code script> <code script>
Line 438: Line 441:
</code> </code>
-and **rock.script** -- this one in items folder.+et **rock.script** -- celui ci dans le répertoire items.
<code script> <code script>
on "LeftClick" on "LeftClick"
Line 446: Line 449:
</code> </code>
-we need another **rock.script** this time attached to the sprite entity Rock via Scene Edit.+Nous avons besoin d'un autre **rock.script**, cette fois attaché au sprite Rock à partir de l’éditeur de scène.
<code script> <code script>
#include "scripts\base.inc" #include "scripts\base.inc"
Line 462: Line 465:
</code> </code>
-We want to handle the scene sign just for observation so **sign.script**:+Nous voulons gérer le panneau de la scène juste pour l'observer, donc **sign.script**:
<code script> <code script>
Line 472: Line 475:
</code> </code>
-And finally we want to lockpick the door, which is entirely handled in **door.script**:+Et finalement nous voulons crocheter la porte, ce qui est entièrement géré dans **door.script**:
<code script> <code script>
Line 509: Line 512:
</code> </code>
-Just for the record - we've created a global variable DoorUnlocked, which is set to true when we use the lockpick on the door. Then in the door script we test this variable and either say, that the door is locked or change the room. +Je tiens à signaler - Nous avons créé une variable globale //DoorUnlocked//, qui passe sur true quand nous utilisons le crochet sur la porte. ensuite dans le scrit de la porte nous testons cette variable et soit il dit, que la porte est verrouillée ou soit change de salle.
-For now, let's be happy with our Street and move on in our Room.+Pour le moment, soyons heureux de notre rue et allez dans notre room.
{{wmebook:ch8_r1.jpg|}} {{wmebook:ch8_r1.jpg|}}
-In the picture you can see the shaped floor region, Entity regions for Painting, Door and Locker and one Region which I've hilighted by the thick red color. Each of them have a script attached. I've made the exit region pretty thick so you can see where it's located because we'll make some auto room changing.+Sur l'image vous pouvez voir la forme de la région sol, la région pour la peinture, la porte et le coffre et une région qui a été surligné par le gros trait rouge. Chacune d'elles ont un script attaché. J'ai fait la région de sortie plutôt grosse pour que vous puissiez voir ou elle ce trouve parce que nous allons faire quelque changement de salle automatique.
-Now we need to tweak some scripts:+Maintenant, nous devons modifier certains scripts:
**scene_init.script** **scene_init.script**
Line 562: Line 565:
</code> </code>
-This is a common adventure game designers way how to save their work. Just invent some stupid excuse why the main character can't perform any task and you're on the way of creating the true adventure game. :)+Ceci est la façons commune des concepteurs de jeu d'aventure de sauvegarder leur travail. Juste inventer une excuse stupide, pourquoi le personnage principal ne peut pas exécuter n'importe quelle tâche et vous êtes sur le chemin de la création d'un vrai jeu d'aventure. :)
**exit.script** **exit.script**
Line 574: Line 577:
</code> </code>
-This is how we handle a trap region (remember our first WME tests?) and whenever actor appears in this region, the scene changes to another room view.+Ceci est comment nous gérons une région piège (souvenez vous notre première test de WME?) et quand l'acteur apparait dans cette région, la scène change pour une autre salle.
-Now the **door.script** for bringing player back on the street.+Maintenant **door.script** pour ramener le joueur dans la rue.
<code script> <code script>
Line 587: Line 590:
</code> </code>
-We have to handle the painting as well and as we could do some things with it, let's recapitulate.+Nous avons à gérer la peinture aussi et aussi que nous pourrions faire des choses avec elle, nous allons récapituler.
-  - Painting is behind the glass, if we left click it and the glass is still there it must be handled+  - La peinture est derrière la vitre, si on clic gauche dessus et que la vitre est toujours là elle doit être traitées
-  - We can break the glass with a rock+  - Nous pouvons casser la vitre avec la pierre
-  - When the glass is away and the drawer is not open we can push the button hidden in the image to open a drawer+  - Quand la vitre n'y est plus et que le tiroir n'est pas ouvert nous pouvons appuyer sur le bouton caché dans l'image pour ouvrir le tiroir
-  - If the drawer is open, we'll comment on that+  - Si le tiroir est ouvert, If the drawer is open, Nous allons commenter ça.
<code script> <code script>
Line 632: Line 635:
</code> </code>
-Let's move to the scene Desk. Open it in the Scene Editor and we'll define it as follows:+Allons à la scène Desk. Ouvrez la dans l’éditeur de scène et et définissons la comme cela:
{{wmebook:ch8_r2.jpg|}} {{wmebook:ch8_r2.jpg|}}
-Also note that I've again hilighted the Exit region which will bring us back to the Room scene. If we tested the game, we'd see that the actor is too small so we have to raise the scale value to 100% and lift it a bit higher.+La aussi notez que j'ai surligné la région exit qui nous ramène vers la scène Room. Si nous testons le jeu, Nous allons voir que l'acteur est trop petit nous devons donc augmenter la valeur de l’échelle de 100% et l'augmenter un peu plus haut.
-Scripts for this scene are:+les Scripts pour cette scène sont:
**scene_init.script** **scene_init.script**
Line 685: Line 688:
</code> </code>
-But there's more to this scene. We'll add a closeup layer called DeskCloseup.+Mais il y' a plus dans cette scène. Nous allons ajouter une calque gros plan appelé DeskCloseup.
{{wmebook:ch8_r3.jpg|}} {{wmebook:ch8_r3.jpg|}}
-**ERRATA:** In the upcoming images there is a duplicity of node Drawer. Please create the sprite entity (the yellow one) as SpriteDrawer instead of Drawer.+**ERREUR:** dans les images à venir il y a une erreur pour l'entité (noeud) Drawer. S'il vous plait créez le sprite (le jaune) en tant que SpriteDrawer au lieu de Drawer
-And define it in the following steps:+Et définissez le (gros plan) dans les étapes suivantes:
{{wmebook:ch8_4.jpg|}} {{wmebook:ch8_4.jpg|}}
{{wmebook:ch8_5.jpg|}} {{wmebook:ch8_5.jpg|}}
-(note that we paired the book sprite entity with an item and made it interactive, also we've defined the exit region at the end of the screen)+(Notez que nous avons jumelé le sprite book avec un article et rendu interactif, nous avons, aussi, défini la région de sortie (exit) à la fin de l’écran) 
 + 
 +et cachez la visibilité ainsi l'arbre des nœuds est comme cela:
-And hide the visibility so the node tree looks like this: 
{{wmebook:ch8_6.jpg|}} {{wmebook:ch8_6.jpg|}}
-Now before we can use the closeup layers, we just remember the method:+Et avant de pouvoir utiliser le calque de gros plan, nous rappelons la méthode:
-**Scene.GetLayer()** - which is similar to Scene.GetNode, but returns a layer rather than node. +**Scene.GetLayer()** - qui est similaire à Scene.GetNode, mais retourne une couche plutôt qu'un nœud.
**table.script** **table.script**
Line 728: Line 732:
</code> </code>
-As we can see, now the Closeup properly activates (making actor disappear) and upon clicking Exit it again disappears making actor appear. +Comme on peut le voir, maintenant le gros-plan s'active correctement (faisant disparaître l'acteur) et lorsque vous cliquez sur la sortie il disparaît et fait apparaitre l'acteur de nouveau.
-**Drawer.script** first has to check if the button in the painting has been pressed and if yes, it opens the drawer uncovering the book and hides itself.+**Drawer.script** d'abord pour vérifier si le bouton dans le tableau a été appuyé et si oui, il ouvre le tiroirs découvrant le livre et se cache.
<code script> <code script>
Line 752: Line 756:
</code> </code>
-We just take a book upon left click:+Reste à prendre le livre lors du clic gauche:
-Add the book to **items.items**:+Ajoutez le livre dans **items.items**:
<code script> <code script>
Line 769: Line 773:
</code> </code>
-create the sprite file for the book and to the **book.script** in the scene write the following:+Créez le fichier sprite pour le livre et dans **book.script** dans Scene écrire ce qui suit:
<code script> <code script>
Line 780: Line 784:
</code> </code>
-and to the **book.script** in the items folder write this:+et dans **book.script** dans le répertoire items écrire ceci:
<code script> <code script>
Line 792: Line 796:
</code> </code>
-See, we have another global variable this time indicating if our actor read the secret book or not. We'll then extend our door passage a bit to enter the stone circle after you've read the book.+Regardez, nous avons une autre variable globale cette fois indiquant si l'acteur lit ou pas le livre secret. Nous allons ensuite étendre notre porte un peu pour entrer dans le cercle de pierres après que vous ayez lu le livre.
-Modify **scenes\Room\scr\door.script** to read the following:+Modifiez **scenes\Room\scr\door.script** pour avoir cela:
<code script> <code script>
Line 810: Line 814:
</code> </code>
-Last scene in our game is the **circle**. You know the drill. Here's the basic layout:+La dernière scène de notre jeu est le **cercle** (circle). Vous connaissez le refrain. Voici les grandes lignes:
{{wmebook:ch8_7.jpg|}} {{wmebook:ch8_7.jpg|}}
-The **Ending** is a sprite entity which has its Interactive turned off.+le **Ending** est un sprite qui à son Interactivité éteinte.
{{wmebook:ch8_9.jpg|}} {{wmebook:ch8_9.jpg|}}
-Now turn again off the //Active// check box for Ending entity so it's again invisible.+Maintenant éteignez à nouveau //Active// pour l'entité Ending il est ainsi invisible.
-Here're the scripts:+là il y a le script :
**scene_init.script** **scene_init.script**
- 
<code script> <code script>
#include "scripts\base.inc" #include "scripts\base.inc"
Line 899: Line 902:
</code> </code>
-And our game skeleton is ready. If you want, you can look in the chapter 8 resource folder where - in the folder finished chapter - you can find the working version. +Et notre jeu squelette est prêt. Si vous voulez, vous pouvez regarder le dossier des ressources du chapitre 8 - dans le dossier finished chapter - vous pouvez trouver la version qui fonctionne
-Now go and play that game before we move on.+Maintenant allez-y et jouez à ce jeu avant de continuer. 
 
fr/wmebook/ch8.1319457016.txt.gz · Last modified: 2011/10/24 13:50 by Anto0085
Recent changes RSS feed Creative Commons License Driven by DokuWiki