ANIMATIONS - PLAYER
Nous allons voir un peu plus en détails les animations, ici du Player. Commençons par en dessiner quelques animations.
Le principe est de dessiner plusieurs fois le sprite, mais dans des positions différentes (comme en animation dessin classique).
Dans le Pixel Editor :
Sélectionner le "Pixel Editor", puis ouvrir le fichier "GameObjectTiles.bmp" se trouvant dans le dossier "GraphicAssets\<NomDeVotreProjet>" (dans mon cas dans "GraphicAssets\JEU01").
Afficher la grille en appuyant sur le bouton [8].
Pour l'exemple de mon player, je vais le dessiner de coté avec la bouche ouverte.
Note: l'outil rectangle de sélection, permet de sélectionner une zone, pour ensuite pouvoir faire un copier CTRL+C et coller CTRL+V à un autre emplacement, si besoin (ou d'un bmp à un autre... pratique!).
Une fois terminé, enregistrer le fichier Tileset.
Dans la fenêtre du Player :
Dans l'arborescence de NESMaker, sélectionner maintenant le "Player" sous "Game Objects".
Dans notre exemple, nous allons créer 4 animations correspondant à l'aspect visuel de notre Player en fonction de ses directions / mouvements : "immobile droite", "immobile gauche", "marche droite", "marche gauche".
Tout d'abord, cliquer sur le bouton "Manage Animtions". C'est dans cette boite de dialogue que les différentes animations sont déclarées.
Par défaut, il y a déjà une animation "DefaultAnimation" (obligatoire d'en avoir au moins une).
Dans notre cas, nous en avons besoin de 4, nous allons donc en ajouter 3 :
- cliquer sur le bouton "Add", 3 fois.
- sélectionner CHAQUE animation de la liste et renommer en "immobile droite", "immobile gauche", "marche droite", "marche gauche" (saisir le nouveau nom et cliquer sur le bouton "Rename").
(J'aurais aussi pu ajouter des animations pour lorsque le Player se dirige en "haut" et "bas"... mais je pense que c'est suffisant pour l'exemple, je vous laisse le soins de faire le autres).
Une fois les différentes animations déclarées, fermer la fenêtre. Nous allons maintenant pour chacune d'elles créer l'animation du sprite (mettre les images).
Sur la partie gauche de la fenêtre de votre Player, une petite liste déroulante vous indique sur quelle animation en cours de modification.
La première animation est déjà sélectionnée, c'est CETTE animation que vous avez paramétrée au tout début du tutorial.
- Pour l'animation "immobile droite", nous voulons juste le personnage de face qui ne bouge pas. Donc 1 frame d'animation suffit et nous n'allons pas toucher aux graphismes qui sont les bons normalement (présente notre Player vu de face).
Comme notre animation "immobile gauche" sera la même que "immobile droite" (présente notre Player vu de face), je vais utiliser copier/coller de frame.
Donc cliquer sur le bouton "Copy frame".
- Puis sélectionner l'animation "immobile gauche" dans la liste déroulante. Votre Player doit normalement s'afficher tout vide (C'est normal, c'est un des nouvelles animations que l'on a ajoutées, et que nous n'avons pas encore paramétrée).
Cliquer maintenant sur le bouton "Paste frame", cela va recomposer de la même manière que ce que vous aviez fait pour l'animation "immobile droite".
Note: évidemment, on aurait pu également recomposer à la main (comme au début du tutoriel) en indiquant pour chaque bloc composant le Player, le Tileset à utililiser (en sélectionnant dans la fenêtre située en haut à droite) et en sélectionnant le sub-palette à utiliser.
- Sélectionner maintenant "marche droite", nous allons donner à notre Player un peu d'animation (par exemple, lui faire ouvrir et fermer la bouche quand il marche).
Pour "Frame Count", choisir "2" dans la liste déroulante (nous avons besoin d'une image du player de coté bouge ouverte et une image du player vu de coté bouche fermée).
Sélectionner ensuite la "frame 1", et composer le Player en indiquant les tiles à utiliser (pour mon exemple, le player vu de coté bouche ouverte)
Sélectionner ensuite la "frame 2", et composer le Player en indiquant les tiles à utiliser (pour mon exemple, le player vu de coté bouche fermée, pour fermer la bouche je réutilise tout simplement le tile de son dos, que je retourne horizontalement "Flip H").
Voilà.
D'accord, mon animation est pas très recherchée, juste un mouvement de bouche… on aurait pu dessiner également un mouvement de son corps, ou mouvement de ses yeux… (selon votre imagination).
- Sélectionner maintenant "marche gauche", nous allons effectuer exactement la même chose que pour "marche droite", sauf que nous retournerons horizontalement les images (pour que le Player soit dirigé vers la gauche).
Donc, pour "Frame Count", choisir "2" dans la liste déroulante.
Et ensuite, possibiltié d'utiliser la fonction de copier/coller de frames (entre "marche droite" et marche gauche" pour la "frame 1" puis "frame 2") et "Flip Frames" pour retourner horizontalement toute la frame :
Voilà.
Maintenant que nous avons réalisé toutes nos animations, nous devons les associer au différentes directions du player en fonction du type de mouvement.
Cliquer sur le bouton "Object Details"…
L'onglet "Animations" affiche l'ensemble des types d'animations (comprendre ici "de mouvements") qu'aura le Player.
Par défaut, il y a déjà un type d'animations "Default".
Dans notre exemple, le Player aura comme type d'animations : "Immobile" et "Marche"
Sélectionner le type d'animations "Default" et le renommer en "Immobile" à l'aide du bouton "Rename".
Cliquer ensuite sur le bouton "Ajouter" pour ajouter le type d'animations "Marche".
Maintenant pour chacun des 2 types d'animations, nous devons indiquer quelle animation de frames utiliser.
Selectionner "Immobile" puis sur la partie droite, indiquer :
- "immobile droite" lorsque le Player se dirige vers "Down"
- "immobile droite" lorsque le Player se dirige vers "Down Right"
- "immobile droite" lorsque le Player se dirige vers "Right"
- "immobile droite" lorsque le Player se dirige vers "Up Right"
et
- "immobile gauche" lorsque le Player se dirige vers "Up"
- "immobile gauche" lorsque le Player se dirige vers "Up Left"
- "immobile gauche" lorsque le Player se dirige vers "Left"
- "immobile gauche" lorsque le Player se dirige vers "Down Left"
Voilà qui sera bien.
Sélectionner maintenant "Marche" puis sur la partie droite, indiquer :
- "marche droite" lorsque le Player se dirige vers "Down"
- "marche droite" lorsque le Player se dirige vers "Down Right"
- "marche droite" lorsque le Player se dirige vers "Right"
- "marche droite" lorsque le Player se dirige vers "Up Right"
et
- "marche gauche" lorsque le Player se dirige vers "Up"
- "marche gauche" lorsque le Player se dirige vers "Up Left"
- "marche gauche" lorsque le Player se dirige vers "Left"
- "marche gauche" lorsque le Player se dirige vers "Down Left"
Je pense que vous avez compris le principe : lorsque le player utilise le type d'animations immobile, on utilise des animations de frames differentes en fonctions de la direction.
Maintenant nous allons assigner ces types d'animations, aux étapes du Player.
Allez dans l'onglet "Actions". Pour rappel, dans le cas du Player :
l'étape 0 correspond à l'état immobile du Player
l'étape 1 correspond à l'état marche/court du Player
(Pour le Player, ces étapes sont codées en durs dans les scripts ASM du moteur de jeu)
Nous allons juste préciser pour chaque étape (état du Player)
Sélectionner l'Action step "0" et dans "Animation Type" choisir "Immobile"
Sélectionner l'Action step "1" et dans "Animation Type" choisir "Marche". Et sélectionner une vitesse d'animation, pour notre exemple, nous choisirons "4".
Et on ne touchera pas aux autres propriétés.
Et voilà, lorsque le Player est immobile (aucun déplacement), il a afficher les animations de type "Immobile" et lorsqu'il se déplacera, il utilisera les animations de type "Marche".
ANIMATIONS - INPUTS SCRIPTS
Pour pouvoir faire fonctionner correctement nos animations, nous devons ajouter 1 script à notre projet.
Dans l'arborescence de NESMaker, sous "Scripts" et sélectionner "Inputs scripts". Puis dans la liste de droite, se déplacer jusqu'au dossier "UserScripts\AdventureGame_Base\MovementScripts" et double-cliquer sur le fichier "ChangeToIdleAnimation.asm" (note: "ChangeToWalkingAnimation.asm" ne semble plus nécessaire dans cette version).
Ce script servira à déclencher le type d'animation en fonction des appuis/relachements sur les boutons de la manette.
ANIMATIONS - INPUT EDITOR
Se rendre maintenant dans "Input Editor".
Dans la liste déroulante "Game State", sélectionner "MainGame" (c'est à dire en cours de jeu). Dans "Target", sélectionner "NULL" (toujours choisir NULL pour tous les scripts, car actuellement ce paramètre n'est pas géré).
Dans "script to run", sélectionner le script "ChangeToIdleAnimation.asm", sélectionner (à l'aide de la souris) le bouton concerné sur la manette et cliquer sur le bouton "Press-Hold-Release" pour qu'il affiche "Release".
Ensuite cliquer que "Add Script" pour associer le script (lorsqu'on relache le bouton).
La ligne correspondante apparaît dans la liste des commandes de contrôles assignées.
Effectuer la même chose pour les autres boutons (Left, Right, Top).
Note: Il ne semble plus nécessaire d'assigner le script "ChangeToWalkingAnimation".
Vous devriez au final avoir ceci (même si l'ordre des lignes n'a pas trop d'importance):
Il n'y a plus qu'à tester... via le menu "Test > Export & Test".
Voilà, votre player devrait s'animer maintenant lorsqu'il se déplace.
ANIMATIONS - MONSTRES
Normalement, à ce stade, vous devriez avoir une petite idée concernant les animations des Monstres.
Cela fonctionne exactement de la même manière: animations pour différentes étapes de vos monstres (si les monstres vont se déplacer à droite ou à gauche, s'ils vont être immobiles, ...). Pas besoin de la partie INPUTS pour les monstres
Je ne détaillerai donc pas cette partie. Sauf si certains ont des soucis et voudraient des précisions.
>> La suite "ARME - PLAYER", ici http://nesmakers.com/viewtopic.php?p=3844#p3844