Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
385 connectés actuellement
30734271 visiteurs depuis l'ouverture
1236 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
◂
| Course d'obstacle en un seul événement
Une course d'obstacle en un seul petit événement ?
Un mini-jeu sympa, mais surtout une belle technique à développer pour programmer de grandes choses ! | Ecrit par Joke le 16/07/2008 |
▸
|
❤ 1Gari J'avais réalisé le tutoriel "Course d'obstacle en DEUX événements"
Mais finalement, il y a possibilité de programmer cette course avec UN SEUL événement grâce à une technique beaucoup plus efficace pour savoir si le héros s'est arrêté !!!
Le mieux c'est que ce n'est pas plus compliqué, MAIS PLUS SIMPLE ENCORE !
Et cette technique je m'en sers pour tout !! Pour détecter quand un missile d'un bazooka s'écrase contre un mur, pour programmer un mario bros-like sympa, et autre : C'est plein de potentiel : Le secret est de bien utiliser le "ignorer si impossible" du déplacement !
UNE COURSE D'OBSTACLE EN UN SEUL EVENEMENT :
Ce tutoriel est utilisable pour tous les RPG maker !! (2000, 2003, XP, VX)
Ce tutoriel explique comment réaliser facilement une course où il faut éviter les obstacles du décor :
Il faut simplement :
- Faire un événement en mode automatique
- Faire un grand décore qui sera votre parcours d'obstacle
- De l'imagination pour transformer cette base en un mini-jeu plus divertissant encore !
VOICI LE CODE ENTIER :
A faire dans un événement en mode Automatique :
Attention, quand je parle de code, je ne parle pas de script mais bien d'actions d'événements.
(Autant prévenir, avec cette nouvelle génération "copie/collage de script" !)
Citation: <>Déplacer/modifier événement : Héros : Regarde haut, Fixe direction, Accélérer mouvement
<>message : Attention, soyez prêt pour la course d'obstacles !
<>message : 3..
<>message : 2..
<>message : Pouet...
<>message : PARTOOOOCHE !!!!
BOUCLE :
<>Attendre 0.0sec
<>Déplacer/modifier événement : Héros : Pas vers le haut, Activer bouton : "crash"
//"ignorer si impossible" coché, "Répéter commande" décoché"
<>Demander l'appui d'une touche : variable "touche"
// seulement touche gauche (2) et touche droite (3) coché "attendre jusqu'à ce qu'une touche soit pressée" décoché (important)
<>Condition : si variable "touche" est égal à 2 :
---<>Déplacer/modifier événement : Héros : Pas vers haut/gauche, Pas vers haut, Activer bouton : "crash"
---// "ignorer si impossible" coché, "répéter commande" décoché[/color]
Fin de condition
<>Condition : si variable "touche" est égal à 3 :
---<>Déplacer/modifier événement : Héros : Pas vers haut/droite, Pas vers haut, Activer bouton : "crash"
---// "ignorer si impossible" coché, "répéter commande" décoché
Fin de condition
<>Condition : si interrupteur "crash" est sur ON :
---<>désactiver interrupteur "crash"
---<>effet sonore : "explode1"
---<>déplacer/modifier événement : Héros : Annuler la fixation, Ralentir, Commencer saut, Terminer saut
---<>afficher animation de combat : héros : "explosion"
---<>message : KRASHBOUBADABOUM
---<>téléporter l'équipe : début de la course
---<>sortir de la boucle
Fin de condition
<>Modifier variable : "Héros Y" rendre égal à événement : position Y du héros
<>Condition : si variable "Héros Y" est inférieur ou égal à "5"
---<>Déplacer/modifier événement : Héros : Annuler la fixation, Ralentir
---<>jouer musique : victoire
---<>message : YOU WIN, bravo poulet !!!
---<>téléporter l'équipe : Fin de la course
---<>sortir de la boucle
Fin de condition
FIN DE BOUCLE |
Et voilà, on n'a besoin de rien de plus ! Avec ça, le héros marche continuellement vers le haut, on peut le déplacer de gauche à droite, et s'il se bloque contre un obstacle, c'est le crash instantané !
Avant on contrôlait si la position Y du héros changeait pendant les 0.2sec qui s'écoulaient.
Maintenant on sait qu'il y a crash simplement quand l'interrupteur "crash" est sur ON, pourquoi ?
Voici donc la décomposition de ce code ! :
L'INTRODUCTION :
Citation: <>Déplacer/modifier événement : Héros : Regarde haut, Fixe direction, Accélérer mouvement
<>message : Attention, soyez prêt pour la course d'obstacles !
<>message : 3..
<>message : 2..
<>message : Pouet...
<>message : PARTOOOOCHE !!!!
BOUCLE : |
Le début du code commence ainsi : Vous pouvez mettre ce que vous voulez, du fait qu'on commence une "boucle" juste après : cette intro ne se répétera pas vu qu'on restera dans la boucle !
LE DÉPLACEMENT :
Citation: <>Attendre 0.0sec
<>Déplacer/modifier événement : Héros : Pas vers le haut, Activer bouton : "crash"
// "ignorer si impossible" coché, "Répéter commande" décoché" |
- Avec ça, le héros marche continuellement vers le haut.
- Comme la boucle se répète toute les 0.0sec, et que "ignorer si impossible" est coché, l'action n'a jamais le temps de se finir, donc tant que le héros peut se déplacer vers le haut, le "Activer bouton : "crash"" n'aura pas le temps de faire son effet !
Si on ne peut pas se déplacer vers le haut, par contre ! On passe tout de suite à l'action après "Pas vers le haut" : c'est à dire "Activer bouton : "crash"" !!
Voilà l'astuce astucieuse qui va permettre de savoir si le héros peut pu aller vers le haut : Donc qu'il se mange un mur !!
- Attention : Ça ne marcherait pas sans le "ignorer si impossible" !
- On n'a pas besoin de cocher "répéter commande" car la commande se répète déjà toute les 0.0 sec grâce à la grande boucle.
LE CONTRÔLE :
Citation: <>Demander l'appui d'une touche : variable "touche"
// seulement touche gauche (2) et touche droite (3) coché "attendre jusqu'à ce qu'une touche soit pressée" décoché (important)
<>Condition : si variable "touche" est égal à 2 :
---<>Déplacer/modifier événement : Héros : Pas vers haut/gauche, pas vers haut, Activer bouton : "crash"
---// "ignorer si impossible" coché, "répéter commande" décoché
Fin de condition
<>Condition : si variable "touche" est égal à 3 :
---<>Déplacer/modifier événement : Héros : Pas vers haut/droite, Pas vers haut, Activer bouton : "crash"
---// "ignorer si impossible" coché, "répéter commande" décoché
Fin de condition |
- Pour contrôler le héros, on demande l'appui touche. (Ben oui)
- Seul gauche et droite nous intéresse alors on ne coche que ces deux là.
- Que l'on n'appuie pas sur les touches, ou qu'on laisse appuyé la touche, dans tous les cas le héros se déplace, l'événement doit continuer : Alors on décoche "attendre appui touche" pour que l'événement continue même si on n'appuie pas.
- On fait deux conditions : "si on appuie sur gauche"(première condition) et "si on appuie sur droite"(seconde condition), ces conditions déplaceront le héros à gauche ou à droite : LOGIQUE !
- Comme ces déplacements sont juste après le tout premier, le tout premier est annulé, lorsque ceux-ci interviennent !
- Et dans ces déplacements, on refait la fameuse technique du "ignorer si impossible" : Si on ne peut pas avancer en diagonal (qu'un mur nous bloque) on va avancer tout droit ! Et si on ne peut même pas avancer tout droit, l'interrupteur "crash" se met ON pour nous prévenir qu'aucun déplacement n'a pu être fait !
LE CRASH :
Citation: <>Condition : si interrupteur "crash" est sur ON :
---<>désactiver interrupteur "crash"
---<>effet sonore : "explode1"
---<>déplacer/modifier événement : Héros : Annuler la fixation, Ralentir, Commencer saut, Terminer saut
---<>afficher animation de combat : héros : "explosion"
---<>message : KRASHBOUBADABOUM
---<>téléporter l'équipe : début de la course
---<>sortir de la boucle
Fin de condition |
Et voilà le crash, à la fin des trois déplacements précédents, on active cet événement. Comme déjà expliqué, avec la technique des "ignorer si impossible" et les déplacements qui s'annulent toute les 0.0sec grâce à la boucle, si ces déplacements n'arrivent pas à s'effectuer, donc s'il y a obstacle, l'interrupteur "crash" sera activé !
Alors voilà, on fait simplement la condition "si "crash" est sur ON" et on y déroule ce qu'il se passe si on se crash !!!
"Sortir de la boucle" après une téléportation, vous me direz que ça ne sert à... rien ?
Sur RPGmaker2003 je crois qu'effectivement ça ne sert à rien, mais sur XP et peut-être VX c'est très mauvais de faire un "téléporter l'équiper" à l'intérieur d'une boucle, celle-ci continue à tourner même après la téléportation.
L'ARRIVÉE :
Citation: <>Modifier variable : "Héros Y" rendre égal à événement : position Y du héros
<>Condition : si variable "Héros Y" est inférieur ou égal à "5"
---<>Déplacer/modifier événement : Héros : Annuler la fixation, Ralentir
---<>jouer musique : victoire
---<>message : YOU WIN, bravo poulet !!!
---<>téléporter l'équipe : Fin de la course
---<>sortir de la boucle
Fin de condition
FIN DE BOUCLE |
Et voilà enfin l'arrivée !! Comme c'est un mode automatique, on ne peut pas faire une arrivée en "touché par le héros" alors on fait avec les coordonnées du héros.
Alors pour savoir les coordonnées de la ligne d'arrivée, dans RM, places votre curseur dessus et lisez dans la barre grise tout en bas :
Par exemple, vous avez : Carte2 (007,005) Le premier c'est la position horizontale (X), le second c'est la position verticale (Y)
Alors on sait que si la coordonnée Y du héros est à moins de 5, on a franchi la ligne d'arrivée ! Voilà ce qui explique cette partie finale de code !
Et voilà comment on a un système de course d'obstacle en UN SEUL événement, et un code tout simple, en plus !!!!
Si vous avez bien compris, faite la même chose mais dans une course de gauche à droite au lieu de bas en haut, ou de droite à gauche, de haut en bas !
Et si je vous dis qu'en utilisant cette technique, je fais un jeu de plate-forme mario-like bien sympathique et surtout simplement programmé ?
Réfléchissez un peu comment on passerait de ça à un mario bros-like !
Bilou !
|
Kyo-kun -
posté le 16/07/2008 à 11:11:03 (761 messages postés)
| Ancien pseudo : BlisterB, Kyo | Quand Joke se remet au making, ça se sent ^^.
Excellent tuto pour les débutants !
Et même pour les experimentés, le coup du bouton qui n'a pas le temps de s'activer, j'aurais pas pu y penser ^^", étant un fan inconditionnel du "tout déplacer".
Mais du coup on peut créer un systeme de lancé A-RPG super simplement oO !
|
falco -
posté le 16/07/2008 à 12:59:09 (19777 messages postés)
- | Indie game Developer | Génial Joke, tu gère vraiment en programmation
Le prochain tuto ?
Mario Bros Like ?
|
Inexistence Rebirth - Inexistence - Portfolio |
Joke -
posté le 16/07/2008 à 13:09:22 (5090 messages postés)
| Bilouteux fou | P'tet bien ^^ Le principe de gravité/saut c'est le même principe que celui-ci, mais plus évolué^^
J'vais pas tutorialiser comment faire les monstres et boites à objets ça serait long^^
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
doubler78 -
posté le 16/07/2008 à 15:24:49 (1 messages postés)
| | c'est pas mal !!
|
falco -
posté le 16/07/2008 à 15:37:10 (19777 messages postés)
- | Indie game Developer | Pour la gravité j'en bien galeré, du coup, j'ai trouvé une petite astuce super sympa, je joue avec les chipsets.
Je map en panorama, et je met le fond sur un chipset transparent, et je lui attribut un chiffre (10) depuis l'éditeur, ensuite, je récupère ce chiffre dans une variable.
Je map le sol avec une autre couleur de transparence, et je lui attribut un chiffre différent.
Puis je fait une condition, si la variable est égal au chiffre 10, et si le switch saut n'est pas activé, déplacer le héro un pas vers le bas.
J'ai tout de même hâte de connaitre ta technique, qui doit surement être meilleur que la mienne ^^
|
Inexistence Rebirth - Inexistence - Portfolio |
MAXIME260697 -
posté le 16/07/2008 à 20:22:48 (105 messages postés)
| Bah...bien | Quand tu te crashe, il faut après desactiver le bouton Crash ou sinon, il arretera pas de se crasher dans l'herbe!!^^
|
S'il vous plaît...aidez autun-malaur a grandir...Ah, et devenez ma brute élève... |
Joke -
posté le 16/07/2008 à 21:19:03 (5090 messages postés)
| Bilouteux fou | Bien vu, maxime !! J'avais oublié ça !
N'oubliez pas de désactiver l'interrupteur crash dans la condition du crash !
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
MAXIME260697 -
posté le 17/07/2008 à 15:14:56 (105 messages postés)
| Bah...bien | Quand tu va a droite et a gauche, ca te crash pas...
|
S'il vous plaît...aidez autun-malaur a grandir...Ah, et devenez ma brute élève... |
Joke -
posté le 17/07/2008 à 20:03:55 (5090 messages postés)
| Bilouteux fou | Je ne comprends pas ta remarque, tu as dû te gourer quelque part si tu as un problème car il n'y a aucun problème à mon code.
Si on avance contre un mur, on longe le mur au lieu de mourir, c'est normal ! C'est si un obstacle vient devant soit qu'on se crash et ça même si t'es en train d'appuyer sur gauche ou droite, tu te crash si t'as pas fait de bêtises !
Tu as bien mis "activer "crash"" à la fin des trois déplacements ? Pas que le premier ?
Si tu voulais te crasher dès qu'on touche un mur (ça serait débile) il suffirait d'enlever les "déplacer vers le haut" des déplacements dans les conditions "droite" et "gauche"
Peut-être veux-tu dire qu'on esquive les petits obstacles quand on zig-zag ? C'est normal si tu ne fais que des petits obstacles d'un carreau on pourra tous les passer si on zig zag sans réfléchir, à partir de deux carreaux de largeur, on peut pas esquiver sans réfléchir. Puis un truc comme ça peut se passer dans des couloirs avec des déviations en diagonal, pas forcément champ libre avec quelques obstacles posés sur la map.^^
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
falco -
posté le 18/07/2008 à 01:32:18 (19777 messages postés)
- | Indie game Developer | Je viens de lire le tutoriel en détail, c'est impressionnant, comment as tu découvert cette technique ? ^^"
Je commence à m'améliorer grâce à tes tutos, continuent à en faire plein !
|
Inexistence Rebirth - Inexistence - Portfolio |
Joke -
posté le 18/07/2008 à 21:16:24 (5090 messages postés)
| Bilouteux fou | Heureux de savoir que mes tutos te font progresser !!
Je prends soin de faire des tutoriels sur les bases de la programmation plutôt que la programmation d'une chose précise, ça ouvre à tout ! ^^
J'ai découvert cette technique en ... Réfléchissant !!! En tout cas je sais pas si quelqu'un d'autre l'a aussi trouvée. ^^ (ça m'étonnerais que je sois le seul à jouer avec "ignorer si impossible")
En faite ce genre de connerie me vient d'un coup et surtout quand je suis pas sur l'ordi ! (la nuit par exemple)
Dernièrement j'ai presque passé une nuit blanche pck j'arrivais pas à dormir pck je pensais à faire un système pour déplacer la caméra aux coordonnées qu'on veut quel que soit la position du héros (et pouvoir recentrer la caméra sur le héros même s'il s'est déplacé entre temps)
(ça marche très bien^^)
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
clm62800 -
posté le 21/07/2008 à 15:57:24 (6 messages postés)
| | Euh moi j'ai un petit probleme...j'ai xp et on ne peut pas faire attendre 0 frames, donc je me crash a chaque fois!
|
Des que D sera pret, je pourrai me delasser de ces decombres de D. |
Joke -
posté le 21/07/2008 à 20:33:27 (5090 messages postés)
| Bilouteux fou | Tutoriel mis à jour !
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Youhouy -
posté le 14/08/2008 à 15:49:55 (5 messages postés)
| | salut!! encore de trés beles idées de ta part j'aimerais éssayer de les adapter dans le cas d'une course poursuite aprés ça qui sait je le mettrais peut être en Tutos si jy arrives dé que j'aurais trouver ou éditer ça ''<>Demander l'appui d'une touche : variable "touche"''!!
|
Dark_style -
posté le 16/08/2008 à 20:47:15 (17 messages postés)
| Que le coté Dark vous guide!! | Une petite question rendre égale sur Vx y a pas!Comment faire!
edit:Non c'est bon c'est remplacer!
|
Les rpg C'est comme les bonbon quand c'est fini en n'en veux encore |
fizz26 -
posté le 30/12/2008 à 19:09:05 (132 messages postés)
| FIzz26 est de retour, fâcher avec Assassin's creed! | Moi j'ai un bug,quand j'me crash,j'arrive au début du parcoure mais dé que sa reprend,je me crash sans faire un seul pas!
Sa me gave!
|
Un skateparc de 1500 m3 à 1 million? Youpi c'est pour dans 2-3 ans! |
Monos -
posté le 31/12/2008 à 21:51:55 (57322 messages postés)
| Vive le homebrew | Comme son nom l'indique. Sa demande au joueur qu'il appui sur une touche.
|
Signer du nez ? |
kilam1110 -
posté le 01/01/2009 à 12:17:06 (9159 messages postés)
| | oui mais dans rm2k c entrer un code et ya que : touche direction 1234 touche de validation et touche d'annulation alor comment on fait pour faire que droite et gauche ?
|
New RPG Maker - Forum traitant du logiciel RPG Maker tout en français ! | SURVIVE V2.5 - Dégommez du zombie ! |
Monos -
posté le 01/01/2009 à 13:10:46 (57322 messages postés)
| Vive le homebrew | C'est pas grave pour 2k.
Hors Rm 2k value
la touche Gauche droite haut bas sont réunis dans la même options à coché.
Mais les numéros variable que représente la touche reste les même.
1,2,3,4 sur Rm2k3.
Je ne sais pas sur 2k. c'est marqué entre parenthèse)
|
Signer du nez ? |
Joke -
posté le 01/01/2009 à 20:04:41 (5090 messages postés)
| Bilouteux fou | fizz26, j'ai dis en commentaire de ne pas oublier de désactiver l'interrupteur "crash" avant la téléportation à l'intérieur de la condition du crash
j'avais effectivement oublié de le rajouter au tutoriel lui-même (j'étais pas encore rédacteur je crois)
Du coup comme vous pouvez le voir j'ai modifié un peu le tuto^^
kilam1110, c'est pas grave si les quatre directions sont détectées, ça fera juste que si le joueur s'amuse à appuyé sur bas et gauche en même temps par exemple le personnage n'ira pas à gauche, donc au joueur de ne pas faire l'abruti !
Donc même avec ça tu peux faire comme dans le tutoriel ça ne marchera pas moins ^^
1=bas
2=gauche
3=droite
4=haut
;)
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
guillaumeh97 -
posté le 05/05/2009 à 17:51:07 (5 messages postés)
| Quoi? Mario fait du Hip-Hop !!!!! Yuuuuuufuuuuuuu | Fun j'ai essayé sa marche vraiment bien!
De plus on peut l'adapter pour faire une course-poursuite,une évasion etc....
|
Il l'y a le ça le moi et le sur-moi, le ça ne dispose pas de conscience mais est plûtot basé sur l'accomplissement des besoins animalier et...Quoi? Vous êtes déjà partis? (Freud) |
Tagnar -
posté le 21/05/2009 à 17:46:37 (209 messages postés)
| Depression, Précedament Tagnar | On peux faire un jeu de course comme Mario kart?
|
rikou -
posté le 23/07/2009 à 01:06:32 (1 messages postés)
| | Citation: On peux faire un jeu de course comme Mario kart? |
oui tu peux c'est surement plus compliqué et plus long mais c'est faisable je pense...
Par contre moi j'ai eu un petit problème avec ce tuto c'est qu'avec ma version rm xp, je ne peux pas (ou alors je suis aveugle ) accéder aux options "ne pas attendre jusqu'à ce qu'une touche soit pressée" et "seulement touche X".
heureusement j'ai réussi à me débarasser du pb en procédant autrement en me basant sur l'idée générale (c'est moins joli mais tout aussi efficace).
Si vous savez pourquoi je n'ai pas vu ces options merci de me le dire et si vous rencontrez le meme problème que moi dites le je vous expliquerai ma solution!
ciao
|
Th0omas -
posté le 20/12/2009 à 20:25:36 (2 messages postés)
| | Petit probleme, cher moi, quand le perso se crash et qu'il revient au point de départ le dialogue se relance ainsi que le depart.
c'est normal ? Pas moyen de repartir directement ?
|
zebrot -
posté le 17/03/2010 à 15:54:20 (1601 messages postés)
| Troller lvl 1 | Salut j'arrive un peu en retard donc je pense pas que j'aurai une réponse m'enfin ça coûte rien d'essayer hein ^^
Alors voila la je make un A-RPG et j'ai besoin que le mage lance des boules de feu (que d'originalité me direz-vous...), et qu'elle disparaisse lorsqu'elles entrent en contact avec quelque chose. Donc j'utilise ta technique, mais ça marche pas du tout (en fait elle se déplace pas, et le bouton se désactive tout de suite)...
Le problème vient, je crois, du fait que j'ai pas trop compris l'utilisation du "ingorer si impossible"
Voila donc help svp =P
|
01010011 01110101 01100011 01100101 00100000 01101101 01101111 01101001 00100000 00111100 00110011 |
| | Citation: Le problème vient, je crois, du fait que j'ai pas trop compris l'utilisation du "ignorer si impossible"
Voila donc help svp =P |
Quand tu fais faire un déplacement prédifini un event il se peut qu'il soit bloqué par un obstacle un obstacle bloqué droite par exemple,tu coches ignorer et il ignore la touche droite et effectue la suite des actions
|
Wataru Zéro -
posté le 22/08/2011 à 16:41:22 (518 messages postés)
| Je suis au désespoir ! | Le truc ne marche que si le héros se déplace en rapide et pas en très rapide, sinon le jeu déclenche le gameover.
Juste pour info.
|
Flavio Lan : Lacertilia |
Joke -
posté le 04/05/2012 à 23:22:33 (5090 messages postés)
| Bilouteux fou | Tu as essayé en augmentant la valeur du "attendre" dans la boucle ?
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! | |
|
|