Oniromancie: Tutoriels - EMG 8 : Pseudos fonctions via appels d'event locaux


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Concours des Alex d'Or 2017-18: (...) / News: MegaMaker : créez votre propre (...) / News: Test de Tinker Quarry / Sorties: Leave the Room / Jeux: Leave the Room /

Chat  (20 connectés)

Bienvenue
visiteur !








Statistiques

Liste des
membres


Contact

83 connectés actuellement

9176623 visiteurs
depuis l'ouverture

888 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

Le studio du chat vert

Ultime Vengeance

Yasei Ookami

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs





EMG 8 : Pseudos fonctions via appels d'event locaux
Ecrit par François Berhn

I Introduction
Ce système a été conçu pour 2003, et ne peut être appliqué sur un autre version de RM, à moins de passer par des scripts.
Comme d'habitude, n'hésitez pas à lire les tutos précédents si vous ne l'avez pas déjà fait.

II Concept
Imaginons que nous ayons plusieurs event identiques qui quand on leur parle tournent de 90° a droite. On voudrait pouvoir calculer pour chaque directions le nombre d'event qui regarde dans cette direction.

image
À droite sont les event qui peuvent tourner et à gauche l'event qui compte.

Une solution assez naïve serait de vérifier pour chaque event sa direction, en modifiant manuellement les conditions pour chaque event. Ou de faire quand quand un event tourne on modifier les bonnes variables pour signaler le changement de direction. Mais la première implique plein de manipulations manuelles et la seconde un enchainement de conditions.

Heureusement, il existe une troisième solution : Appeler une page d'un event dont on veut connaitre la position pour que ce soit cet event qui fasse le calcul tout seul. En effet en appelant un page d'un autre event on peut lui demander de mettre dans une variable une valeur relative à lui-même, ce qui permet de ne pas avoir à modifier des paramètres après un copier-coller.

III Systeme
Voici donc le systèmes :

image
Ici rien de complexe. On demande juste à l'event de tourner sur lui-même.

image
Ici c'est un peu plus complexe mais rien de dramatique. On met dans une variable la direction dans laquelle l'event regarde (2 pour bas, 4 pour gauche, 6 pour droite et 8 pour haut). Puis on divise le résultat par 2 et on rajoute 47.
Le but de ce calcul est de passer de 2, 4, 6, 8 à 1, 2, 3, 4 et de rajouter 47 pour faire correspondre chaque valeur de direction à l'id d'une variable qui lui correspond.
Une fois que c'est fait on rajoute 1 à la variable pointé par ce calcul.

image
Et pour finir le systèmes de calcul es direction qui va :
- Mettre à 0 les variables qui stockent le nombre d'event qui regarde dans leur direction.
- Mettre dans une variable le premier id (ici 1) et le dernier id (ici 15)
- Mettre une variable à 2 car c'est la page qu'on appelle pour tous les event.
- Enfin dans une boucle parcourir tous les events de 1 à 15 et appeler leur page 2 pour leur permettre de donner leur direction dans la variables appropriée.

IV Conclusion
Ce qu'il faut retenir de ce tutoriel, c'est qu'on peut executer une page d'un event comme di on lui donnais un ordre. De plus, la possibilité de pourvoir pointer sur un event via des variables rend le tout plus souple que des events communs. Enfin, il sera plus facile de copier la map pour la mettre dans n'importe quel projet sans avoir à modifier quoique ce soit.

Aucun commentaire n'a été posté pour le moment.

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis