Bienvenue visiteur !
|
Désactiver la neige
Statistiques
Liste des membres
Contact
Mentions légales
264 connectés actuellement
30835155 visiteurs depuis l'ouverture
2422 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
◂
| Bloquer le personnage pour un menu sur map
Vous voulez un menu tournant? Un menu façon Pokémon ou Golden Sun et vous ne savez pas comment faire en sorte que le héros ne bouge pas pendant les phases de sélection? Ce tuto est fait pour vous! | Ecrit par Gallaee le 22/02/2012 |
▸
|
❤ 0 Bloquer le personnage pour un menu sur map.
Vous voulez un menu tournant?
Un menu façon Pokémon ou Golden Sun et vous ne savez pas comment faire en sorte que le héros ne bouge pas pendant les phases de sélection?
Ce tuto est fait pour vous!
Sommaire:
1.Connaissances requises et tutos relatifs.
2.Le principe.
3.Le vif du sujet.
1.Connaissances requises et tutos relatifs.
Je ne saurais que vous demander de maîtriser un minimum les variables, les Switchs et être un minimum logique. Pour ce faire, vous pouvez observer cette suite de tutos destinés à vous (ré)expliquer les besoins identifiés pour mener à bien ce projet.
Tout, tout, tout sur les variables par Joke
Les variables par Sylvanor
Les interrupteurs par Monos
Et pour un exemple de tuto pour un menu ring, que vous pourrez utiliser une fois le "block" maîtrisé.
Menu tournant par Gari
2.Le principe.
Je vous ai donné divers tutos plus ou moins difficiles à comprendre. Certains donnent des exemples concrets, je vous laisse les observer.
L'idée, c'est qu'à la fin de ce tuto, vous sachiez créer un système permettant de "mettre en pause" le héros, mais aussi, que vous compreniez un peu plus l'utilité de savoir utiliser des variables et que tout n'est pas obligatoirement à faire en scripts pompés à droite et à gauche.
Le principe ici, c'est que vous allez chercher les coordonnées du héros et adapter plusieurs variables pour poser vos évents invisibles "block".
Je ne vous donnes pas là, "THE ULTIMATE SOLUTION", mais seulement celle que j'utilise et qui ne m'a, jusque-là, jamais trahie.
3.Dans le vif du sujet.
Matériel requis:
4 évents par map, d'apparence invisible, au même niveau que le héros, activés par un switch et possédant respectivement les noms "Block1", "Block2", "Block3" et "Block4".
1 Switch nommé "Active Block", qui activera les évents "Block", et parrallèlement "désactivera" certains évents, pour les A-RPG par exemple, je vous expliquerais plus bas le principe.
1 Autre Switch nommé "Menu Activable" qui vous servira, via un évent à activer ou non votre menu custom.
8 Variables, qui servirons au placement des "Block", nommées "Block1posX", "Block1posY", "Block2posX", "Block2posY", "Block3posX", "Block3posY", "Block4posX" et "Block4posY".
1 évent de positionnement, avec comme condition le Switch "Menu Activable" sur ON. Nommez-le donc "Position Block", en processus parralèle, apparence invisible, sous le héros, dans un coin de la map inaccessible.
Programmation.
Pour commencer, modifiez "Position Block", nous devons faire en sorte de trouver les coordonnées du héros. Autant bien programmer, alors je vous donne la solution.
Modifier une variable: "Block1posX", rendre égale à position X du héros.
Modifier une variable: "Block1posY", rendre égale à position Y du héros.
Modifier une variable: "Block2posX", rendre égale à position X du héros.
Modifier une variable: "Block2posY", rendre égale à position Y du héros.
Modifier une variable: "Block3posX", rendre égale à position X du héros.
Modifier une variable: "Block3posY", rendre égale à position Y du héros.
Modifier une variable: "Block4posX", rendre égale à position X du héros.
Modifier une variable: "Block4posY", rendre égale à position Y du héros.
Attendre 0s (ne sert qu'à attendre qu'il ai fini la récolte des données avant de continuer)
Maintenant que nous avons récupéré les coordonnées, nous allons faire en sorte que les blocks se positionnent respectivement en haut, en bas, à gauche et à droite du héros. Nous allons donc modifier les valeurs de X ou Y. Nous voudrions les évents :
Block1 en haut, Block2 à droite, Block3 en bas et Block4 à gauche.
Ajoutez sous Attendre:
Modifier une variable: "Block1posY", soustraire 1.
Modifier une variable: "Block2posX", additionner 1.
Modifier une variable: "Block3posY", additionner 1.
Modifier une variable: "Block4posX", soustraire 1.
Attendre 0s (idem que plus haut)
Nous venons de définir les positions des évents, il ne nous manque qu'à les déplacer.
Ajoutez à la suite:
Modifier la position d'un évennement: "Block1", position définies par des variables: "Block1posX" pour X et "Block1posY" pour Y.
Modifier la position d'un évennement: "Block2", position définies par des variables: "Block2posX" pour X et "Block2posY" pour Y.
Modifier la position d'un évennement: "Block3", position définies par des variables: "Block3posX" pour X et "Block3posY" pour Y.
Modifier la position d'un évennement: "Block4", position définies par des variables: "Block4posX" pour X et "Block4posY" pour Y.
Attendre 0s (pour marquer le coup)
Là, nous les avons placés aux bons endroits, il ne reste qu'à les activer et à rajouter une page à "Position Block".
Faites comme suit :
Déplacer/Modifier un évennement: Héros, fixer la direction. (C'est juste esthétique, ça évite qu'il regarde un coup à gauche, un coup à droite en fonction des sélections du menu, pensez bien à le désactiver en sortant du menu).
Modifier un interrupteur: "Active Block" sur ON.
Voilà, vous venez de finir la première page de votre évent.
Créez une deuxième page vide en appuis touche avec comme condition : Le Switch "Active Block" sur ON.
Cette page sert pour valider le positionnement des évents Block et surtout éviter d'utiliser de la rame pour calculer inutilement le re-placement des Blocks alors que le héros est "figé" sur place.
Ceci est à répéter sur chaque MAP où le menu sera possible, activez "Menu Activable" sur chacune d'entre-elle au moment ou cela vous arrange. Pensez également à stopper le menu de base dès le début du jeu, sinon il risque d'y avoir confusion avec le votre.
Petites astuces:
Pour recopier simplement copiez/collez puis reprennez chaque ligne une par une en modifiant les évents concernés qui risquent d'avoir des ID différents.
Le Switch "Active Block" peut aussi servir lors des A-RPG pour bloquer les évents des monstres (si vous l'avez fait en évent et pas en script), en rajoutant simplement une page vide sur chaque monstre avec comme condition ce fameux Switch, les monstres ne bougerons plus le temps de faire vos affaires. Sauf, si vous voulez de la difficulté...
Conditions d'utilisation: Ce tuto, je l'ai créé de mes petites mimines et avec mon cerveau-lent, aussi, veuillez respecter son auteur en citant mon pseudo en cas de copie sur une autre communauté ou autre. Un petit crédit ne me tuera pas non plus dans vos jeux. Un merci non plus d'ailleurs.
Bon making et que le café soit avec vous!
PS: Non, pas de screen, pas de démo, tout est clairement expliqué, dans un (semi)français courant et convenable. Il n'y a nul besoin de visuel pour ce genre de chose.
|
Gallaee -
posté le 22/02/2012 à 10:34:13 (122 messages postés)
| Un jour je serais le meilleur...bon un peu moins mauvais sur Rpg Maker 2003. | Ah, punaise, je viens de remarquer que j'avais zappé un truc très important,
le Switch "Menu Activable" doit être activé en même temps que l'appel de votre menu custom, sinon le programme tourne en boucle et calcule en permanence des coordonnées inutiles.
Pas d'inquiétude cependant, une fois lancé en même temps que votre menu, le placement des "blocks" est instantané, ce qui fait qu'il n'y a pas de risque de bouger.
|
Alkanédon -
posté le 22/02/2012 à 11:32:03 (8361 messages postés)
- - | Citoyen d'Alent | C'est un peu event making niveau 1 ton tutos là non ?
Deja le héros tu le fais attendre en continu, c'est 10 fois plus simple, et pour les events qui bougent, tu créer une aute page avec l'interrupteur menu cocher, et comme option qu'ils ne bougent pas.
Ensuite faire tes cases de choix en event, c'est vraiment pas pratique, imagine que le héros est tout en haut à gauche de la map, ça veut dire que ton menu s'affichera non seulement en haut à gauche mais ça bugguerait car les cases d'en haut et celle de gauche ne pourront pas se placer.
Le mieux serait donc de le faire en image, tout le temps placer au centre, sans problème de placement et sans 10 000 conditions.
Enfin bon ça peut toujours aider à comprendre des trucs sur les variables
|
Mes musiques |
Joke -
posté le 22/02/2012 à 13:36:24 (5090 messages postés)
| Bilouteux fou | Et le mode "Automatique"... ?
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Alkanédon -
posté le 22/02/2012 à 13:47:51 (8361 messages postés)
- - | Citoyen d'Alent | Bah justement le mode auto ça bloque tout non ? On peut pas interagir ? J'ai plus rm ces jours ci je sais plus trop.
|
Mes musiques |
Joke -
posté le 22/02/2012 à 13:55:07 (5090 messages postés)
| Bilouteux fou | Le mode auto c'est comme un processus parallèle, sauf qu'il bloque les déplacements du héros et les interactions avec les autres événements. Les processus parallèles tournent toujours... en parallèle, et ce que tu mets dans ton événement en mode auto c'est le code principal du menu, ou de la scène d'introduction, etc.
Tu peux même n'utiliser que des processus parallèle, et créer un événement en mode automatique en événement fréquents (je sais plus si c'est possible avec XP/V qui ne contient qu'un p'tit "wait", et qui est activé par un interrupteur. Il suffit d'activer l'interrupteur en question pour que le wait tourne en boucle et qu'on profite du mode automatique pour bloquer le héros.
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Alkanédon -
posté le 22/02/2012 à 14:02:28 (8361 messages postés)
- - | Citoyen d'Alent | Le mode fréquent sur xp et vx c'est les events commun. Mais pour faire attendre en boucle le héros avec la commande attendre, il y a une manip à faire: quand on fait attendre par exemple 1 sec en boucle le héros, il faut ensuite le refaire attendre 1 sec sans option en boucle.
Don l'event commun/fréquent ne fais pas gagner plus de temps, il bousille meme un interrupteur pour rien, vu que la commande ne fait qu'une ligne x)
|
Mes musiques |
Joke -
posté le 22/02/2012 à 14:19:00 (5090 messages postés)
| Bilouteux fou | Pour faire attendre le héros en boucle, tu fais juste l'action "déplacer événement" > héros > attendre, en cochant bien la case "répéter le déplacement". Pour interrompre cette attente en boucle et reprendre le mouvement, tu fais un "déplacer événement > héros > attendre" sans cocher la case "répéter le déplacement"
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Gallaee -
posté le 22/02/2012 à 14:20:00 (122 messages postés)
| Un jour je serais le meilleur...bon un peu moins mauvais sur Rpg Maker 2003. | Auto-quote
Citation: Je ne vous donnes pas là, "THE ULTIMATE SOLUTION", mais seulement celle que j'utilise et qui ne m'a, jusque-là, jamais trahie. |
Mouais, j'ai déjà testé le mode auto, les résultats ne m'ont pas plus.
Et non, je ne commande pas le menu via mes évents "blocks", ils servent juste à empêcher le personnage de bouger tout en ne faisant pas ramer le menu.
Une fois que c'est positionné Rm n'a plus à rien faire tourner, c'est l'atout ici.
On peut faire notre menu gourmand en ressources sans que ça ne gène en rien!
Pas d'incompatibilité, pas de gène dans le déroulement du menu, et le perso conserve exactement sa place.
Ce tuto sert aussi à comprendre ce que l'on peut faire avec des variables.
Edit: Ah aussi, prières de ne pas survoler les explications, là d'après ce que vous me faites comprendre, vous pensez que mon menu se résume à 4 évents posés autour du héros, je dis non, sincèrement, le nom du tuto est assez explicite, c'est bloquer le héros POUR un menu sur map. Non pas "fait un menu en bloquant le héros".
Je suis conscient que chacun possède sa méthode. Je n'ai jamais fait comme tout le monde et j'ai toujours développé à ma façon.^^'
|
Tampaxor -
posté le 23/02/2012 à 00:25:00 (10274 messages postés)
| | Disons que c'est une méthode qui en vaut une autre. C'est comme quand on fait nos premier CMS avec seulement quelques bases : on fait sstème D, puis en progressant on allège le tout
|
crackerwood -
posté le 23/02/2012 à 19:28:26 (176 messages postés)
| | C'est une idée comme une autre. Sinon mettre les évènements en demarrage automatique puis event commum ca marche aussi.
|
CMS event--PHS--Blackjack--PHS event VX |
Alkanédon -
posté le 23/02/2012 à 22:29:11 (8361 messages postés)
- - | Citoyen d'Alent | OUAIS MAIS SON IDEE C'EST DE LA MAYRDE
=>[]
|
Mes musiques |
trotter -
posté le 24/02/2012 à 08:05:52 (10818 messages postés)
- | | C'est un tuto bien rédigé, merci d'en faire.
Mais purée l'usine à gaz qui nécessite 5 events par map : /
Comme dit Joke, un processus parallèle avec juste la commande "déplacer/modifier un évènement", "héros", "attendre un moment" suffit pour bloquer le héros.
Spoiler (cliquez pour afficher)
Juste ça a le même résultat que tes 5 events.
Si tu veux pas utiliser une boucle, tu pourrais aussi changer le chipset par un avec tout bloqué.
Enfin, comme dit plus haut, ça devrait se faire en event automatique en processus commun.
|
ౡ |
Gallaee -
posté le 24/02/2012 à 10:49:07 (122 messages postés)
| Un jour je serais le meilleur...bon un peu moins mauvais sur Rpg Maker 2003. | J'ai toujours fait comme ça et je dois avouer que j'ai toujours préféré...
Mes menus directement sur la map s'en sont toujours sortis sans aucun lag, ni coup de ram.
Pourtant, mes menus sont entièrement faits en image, mon dernier test partait de cette base :
*Mauvais dessinateur powa*
Et je n'ai pas eu de lag avec l'affichage de ces images, ni au niveau des déplacements ni rien.
Mon délire c'était de faire un "NaviPad", sorte de micro-ordinateur implanté dans la main de son possesseur, qui lui sert à gérer ses nanites, son espace de stockage de données (les objets étant transformés en données et enregistrés dessus, avec place limitée, upgradable via quêtes et achats). Les barres seraient sont niveau de santé et de concentration (pour utiliser ses compétences développées grâce aux fameuses nanites).
Fin bref, c'était pour un projet, mais il me manque quelques trucs comme par exemple des ressources graphiques... Du coup, je me suis concentré sur mon projet pokémon qui regorge de ressources =P (Je compte utiliser ce menu sous forme de montre pour les trucs basiques).
|
| Chanter l'hyperchleuasme | Nan mais c'est quoi cette bidouille zutresque
On dirait mes combines foireuses !
Nan nan, c'est pas un tuto ça, un tuto ça donne la bonne méthode tout de suite.
Puis ton truc nécessite d'avoir 4 rochers dans chaque map, un peu chiant...
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
Ephy -
posté le 27/02/2012 à 00:05:19 (30115 messages postés)
- | [BIG SHOT] | Nan mais Joke a raison. Faut utiliser un event commun en automatique, activé par un interrupteur.
Et dans ton event de menu, au tout début, tu active le dit interrupteur (à l'ouverture du menu quoi) et tu le désactive à la fermeture.
Déjà testé (sur 2k3) et vu que les event auto ça marche pareil avec VX ça doit fonctionner aussi.
Faut juste mettre un attendre dans l'event en auto pour qu'il bloque le héros.
Le changement de chipset comme dit trotter c'est pas mal aussi... si la version de RM le permet (je crois pas que XP le permette, VX c'est sûr et VXace je sais pas).
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
arttroy -
posté le 05/05/2012 à 15:06:32 (2394 messages postés)
| Just working | Bonjour à tous pour VXace la méthode de joke fonctionne voilà c' était juste pour le dire bonne journée à tous et toutes
|
Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ? |
|
|
|