Edit : Je remarque que j'ai du planter sur le champ du titre, et je n'arrive pas à le modifier :s Si un modérateur passe par là, peut-il mettre en titre "[tuto][rmXP]A-Rpg Avancé" ? merci beaucoup
Dans ce tutorial je n'utiliserai pas de ruby tout sera une question de logique vous n'avez besoin de rien pour le suivre juste de vous accrocher un peu pour comprendre le fonctionnement ^^ ( Certes ce ne sera pas parfait, mais ce sera déjà pas mal
Je vais donc commencer tout doux
I : Base d'un système de vision pour un ennemi
Créons un nouveau projet qu'on appellera par exemple "A-Rpg System"
On va créer notre événement qu'on nommera Ennemi 1, pour commencer on va mettre notre ennemi immobile en processus parallèle.

On va créer plusieurs étapes :
- Définir un nombre de carreaux pour le champ de vision de l'ennemi
- Créer deux variables "Distance-X et Distance-y" dans lesquels on aura les distances x et y entre le héros et l'ennemi
- Vérifier si le héros se trouve dans le champ de vision en question
[Peaufinage]
- Afficher une animation sur le monstre lorsque le héros rentre dans le champ de vision
On va donc déjà définir un nombre de carreaux pour le champ de vision de l'ennemi.
Ouvrez l'évènement Ennemi 1 et mettez y avec [Gestion des variables - Page 1] :
Variables(s) [0001: Distance-Vision] : rendre égale(s) à 2
On va maintenant définir dans une variable "Distance-X" et une variable "Distance-Y" qui seront la distance X et Y entre le héros et le monstre en question :

On multiplie par -1 si nos données sont négatives pour être sur d'avoir une distance positive ( une distance négative, ça existe pas ^^ )
On a maintenant nos distances X et Y on va pouvoir vérifier si le héros se trouve dans le champ de vision de l'ennemi.
Pour cela on va utiliser des conditions ( et oui encore
Si la distance-X est inférieure ou égale à "Distance-Vision" :
Si la distance-Y est inférieure ou égale à "Distance-Vision" :
Alors le héros se trouve dans le champ de vision

On est arrivé au bout de la base, on va maintenant peaufiner un peu : [Afficher une animation sur le monstre lorsque le héros rentre dans le champ de vision]
Pour cela, l'animation doit être lancé qu'une fois, au moment où le héros rentre dans son champ de vision, on va donc devoir utiliser un interrupteur local ( Pourquoi local ? Vous verez au prochain chapitre
On va donc prendre l'interrupteur local A, il faut l'activer si il est désactivé, et le désactiver si le héros n'est plus dans le champ de vision.
Au moment où on active l'interrupteur, on va lancer l'animation "Émotion-! sur 'Cet événement', c'est à dire le monstre en question" :

Et enfin on désactive l'interupteur local A lorsque le héro sort de la zone de vision :

Voilà c'est le début de quelques tutos, à savoir que celui-ci n'est pas complètement fini, en effet on remarque qu'il faut remettre tout ce code pour chaque monstre qu'on crée etc etc, on va donc voir comment modifier cela au prochain chapitre, et vous comprendrez l'intérêt de l'interrupteur local !
Merci de laisser des commentaires pour me dire ce que vous en pensez ^^
[Télécharger le projet du tutorial I]
http://www.webmeka.f...-Rpg_system.rar
II : les évènements communs c'est quoi ?
Les évènements sont dis communs lorsque un code est répété dans plusieurs évènement ( à mon avis hein j'ai choppé ça de nulle part
En utilisant à chaque fois "cet évènement" au lieu de préciser on rend l'évènement unique, grâce à cela on va pouvoir créer plusieurs fois l'évènement sans se prendre un gros pavé dans la tête ^^
On va donc reprendre le projet précèdent, et l'améliorer grâce à un évènement commun
Pressez F9 pour accéder à la base de données et rentrez dans l'onglet "Événements communs", cliquez sur "Nombre maximum d'éléments..." et mettez y 20 ( Pas de quoi prendre peur ^^ )
Sélectionnez le 1er évènements commun et appelez le "Vision-Ennemi" en déclenchement "Appel".
Recopiez le gros pavé de votre évènement "Ennemi 1" dans l'évènement commun :

Et dans votre évènement "Ennemi 1", mettez "Appeler un évènement commun : Vision-Ennemi".
Lancer le projet, et vous verrez que ça marche tout aussi bien !
[?] Oui mais ça revient au même, non?
On va dire que pour l'instant oui, mais imagine que tu as créer 35 fois l'évènement sur plein de carte, si tu veux modifier "émotion-!" par "émotion-?" ou encore la distance de vision de l'ennemi, il sera bien difficile pour toi de modifier tout tes évènements ^^ !
Maintenant que l'on a fait ça, copier coller votre évènement Ennemi 1 ailleurs sur la map, et appelez le Ennemi 2, lancez le projet et vous verrez que son champ de vision est aussi opérationnel !
C'est ici qu'un tilt devrait apparaître , comment ça se fait que lorsque qu'on rentre dans le champ de vision d'un des 2 ennemis, l'autre ne le voit pas ? C'est ici l'utilité des interrupteurs locaux, en effet, l'interrupteur ne fonctionne que pour l'évènement qui l'utilise, et ainsi même si un des ennemis vous vois, l'autre ne vous voit pas !
Voilà, une deuxième partie qui était plus pour finir la première, faîtes quelques tests, faîtes bouger vos ennemis, et vous verrez que ça marche toujours aussi bien
Attention, ne soyez pas trop gourmand, ne mettez pas une dizaine d'ennemi sur la map qui vous vois sur une zone très petite, le jeu risque de ramer ! ( Et oui beaucoup de calcul de coordonnées à répétition, ça pardonne pas
Télécharger le projet du tutorial II
http://www.webmeka.f...Rpg_system2.rar

Connexion
Inscription
Aide
Ajouter une réponse


Multi-citation