Noble Lv.8
Inscrit le : 08/07/2009 Messages : 228
| Sujet: [ACE]Analyse du terrain Sam 31 Déc 2011 - 15:15 | |
| Analyse du terrain Tous les makeurs sont fainéant, je l’ai compris il y a longtemps. Pourquoi faire quelque chose de long quand on peut le faire cour ? Même Enterbrains a compris cela ! De nouvelle commande sont apparue avec Ace. Dans ce tutoriel nous allons voir l’une d’entre elle : Acquire Position Information
Tables des matières I:Présentation           IV:S.Autres II:Explication             V:Mapping III:S.Les ombres       VI:Liens
Partie I : Présentation de la commande Vous avez 3 informations a fournir pour cette commandes:
A-Variable to Receive Information Il suffit de choisir la variable où sera stockée l'information
B-Type of Information 6 choix possible 1- Terrain tag 2- Event ID 3-Tile ID (Layer 1) 4-Tile ID (Layer 2) 5-Tile ID (Layer 3) 6-Region ID
C-Position Les coordonnées de la case que vous voulez analysez. A choisir sur la carte ou définir avec des variables.
Partie 2 : Explication Terrain Tag: Dans l’éditeur de tileset vous avez logiquement un bouton du même nom qui vous permet de choisir un chiffre entre 0 et 7. La variables contiendra ce chiffre.Event ID: LA variables contiendra l'ID de l’événement et si il y a plusieurs évents sur la même case ? Déjà comment mettre 2 événement sur la même case ? Il y a 2 façon de la faire
1)Téléporté l’évent sur la case 2)Mettre l’évent en passe-muraille lors du déplacement L'ID stockée sera toujours celle du dernier événement a s’être placé sur la case
Tile ID Vous voyez , les tiles petit carré de 32px avec lesquelles vous mappez ? eux aussi il ont une ID. mais avant de parler de leur ID, parlons des couche(Layer). Il y a couche. La couche 1 correspond au tileset A sauf la moitié droite de la Partie A2 qui font partie de la couche 2. Tous les autres tiles font partie de la couche 3
Vous savez a quoi corresponde les couches , mais quelle ID correspond quelle tile ? Il y a 2 methode pour le savoir.Méthode 1:Placer le tile sur la map et utiliser la commande pour avoir son ID Methode 2: La calculerTileset A1,A2,A3,A4 MIN = 2048 + y * 384 + x * 48 MAX = Min + 47 NOTE:Les 4 premiers tiles ont une ID comprise entre 2048 et 2095. La commande ne vous permet pas de les différencié.Tileset A5 l'id des tiles qui compose le tileset A5 se suive. commence a 1536 et se termine 1663 1536 + y * 8 + x Tileset A5 (2,5)1536 + 5*8 + 2 = 1578
Tileset B,C,D,E l'id des tiles qui compose les tileset B , C , D et E se suive. commence a 0 et se termine a 1223 y * 8 + x Tileset B (2,5) = 5 * 8 + 2 = 42 Tileset C (2,5) = (32+5) *8 +2 = 298 Tileset D (2,5) = (64+5) *8 +2 = 554 Tileset E (2,5) = (96+5) *8 +2 = 808Region ID L'ID de la région: comprise entre 1-63 (63 région maximum) , il ne peut y avoir qu'une région par case. Partie 3:S.Les ombres Et si je veux connaitre l'ombre qu'il y a sur la case ? Malheureusement Enterbrain n'a pas pensé a cela :-( mais ce n'est pas grave , ce tuto est la pour vous apprendre a le faire grace a un petit appel de script :-) expliquons un peu ça.
$game_map.data[x,y,z] == ID
x:La position X de la case y:La position Y de la case z:La couche: 0 = couche 1 1 = couche 2 2 = couche 3 3 = ombre ID:L'ID du tile ou de l'ombre Les différente ID et l'ombres correspondante se trouve dans le tableau ci dessous
Partie 4 :d'autres informations x = position x sur la map , y position y sur la map , d = direction (2 = Bas, 4 = Gauche, 6 = Droite, 8=Haut)
$game_map.tileset.id | LID du tileset qui est utilisé par la map | $game_map.valid?(x,y) | La position existe ? (interrupteur) | $game_map.passable?(x,y,d) | Peut on se déplacer ? (interrupteur) | $game_map.boat_passable?(x,y) | est ce que le bateau peut se déplacer ?(interrupteur) | $game_map.ship_passable?(x,y) | est ce que le bateau2 peut se déplacer ?(interrupteur) | $game_map.airship_land_ok?(x, y) | est ce que le dirigeable peut se poser ?(interrupteur) | $game_map.ladder?(x,y) | Le tile a la propriété « Echelle » ?(interrupteur) Le héros regardera toujours vers le haut lors des déplacement Haut/bas | $game_map.bush?(x, y) | Le tile a la propriété «Buisson » ?(interrupteur) Le bas du héros sera semi-transparent | $game_map.counter?(x, y) | Le tile a la propriété «Comptoir» ? (interrupteur) Lors de l’apui de la touche action , l’évènement derrière le comptoir sera activé. | $game_map.damage_floor?(x, y) | Est ce que le sol fait des domages ?(interrupteur) 10 dégat
|
Partie 5 :Mapping événementiel
Vouz savez tous ce qu'il faut pour utilisez les informations sur la map dans vos évent , mais on peut faire plus que les consulter , vous pouvez les modifier $game_map.data[x,y,z] = id
Note: les changements sont propres a la sauvegarde et pas a la map, la est tout l’intérêt. si vous le voyez pas , ce n'est pas grave , je finirais bien par vous le montrer :-)
Dernière édition par heos le Mar 3 Jan 2012 - 19:35, édité 10 fois |
|
Age : 33 Inscrit le : 02/02/2010 Messages : 4692
| Sujet: Re: [ACE]Analyse du terrain Sam 31 Déc 2011 - 17:38 | |
| Un tuto très utile à ceux qui ne sont pas familiarisés avec les ID de terrain et tout ce foutoir qui avait disparu sur VX!
Donc, +3 points de participation, et je le valide. |
|