2k3 < VX < Ace < XP
sam. 26 oct. 2013 - 21h36
Hello ! Voici mon problème : j'aimerais que lorsque le héros se déplace d'une case vers la gauche, un autre perso (event) se déplace aussi vers la gauche. J'ai donc mis un event en processus parallèle avec une condition "Si touche gauche pressée alors perso va à gauche" Et j'ai réglé la vitesse du héros au début du jeu pour qu'elle soit la même que celle du Perso ("modérée") ; ça fonctionne bien si je fais de petites pressions sur la touche gauche mais... si je laisse le doigt [b]maintenu[/b] sur la touche gauche, le héros finit par doubler le perso... Je voudrais qu'ils aillent au même rythme ! Help !
sam. 26 oct. 2013 - 21h55
Essaie ça : [spoiler][code]################################## ######## Patch Touche répétée ######## ################################## # Auteur : Biward # # Permet la condition sur une touche pressée # en continue et non une simple pression # rapide # ################################## class Game_Interpreter alias alibiin command_111 def command_111 result = false case@params[0] when 11 result = Input.repeat?(@params[1]) else alibiin end end end ##################################[/code][/spoiler]
sam. 26 oct. 2013 - 22h03
ça marche mieux que tout à l'heure (il le dépasse moins vite) mais il le dépasse quand même encore
sam. 26 oct. 2013 - 22h09
Oui c'est normal, la vitesse n'est pas la même...
sam. 26 oct. 2013 - 22h14
Pourtant ils sont tous les deux réglés sur "modérée".
lun. 28 oct. 2013 - 10h20
Fais déplacer ton héros via un évènement au pire, je n'ai pas le temps de tester, mais en gros. >Si la touche gauche est pressée: Le héros fait un pas sur la gauche. L'évènement fait un pas sur la gauche. Ce sera certainement plus long, mais ça réglera tous tes problèmes (normalement).
lun. 28 oct. 2013 - 16h07
Bonne idée mais il faudrait dans ce cas désactiver le mouvement par défaut (j'ignore comment). Car sinon le perso avance deux fois.
mar. 29 oct. 2013 - 09h23
Pas spécialement, tu fais une map avec une passabilité réglée sur X et tu fais en sorte que les évènements aient la fonction "passe-muraille ON" pendant le déplacement. Tu peux aussi mettre 4 évènements autour du héros pour le bloquer et les désactiver pendant le déplacement. Après je pense qu'il y a plus simple et mieux à faire, je donne toutes les idées qui me passent par la tête. ^^''
mar. 29 oct. 2013 - 12h41
J'ai essayé ta première proposition, mais ça n’empêche pas le héros d'avancer de deux cases quand on appuie seulement une fois sur la touche. Pour les blocs, je pense que ça fera pareil : dès qu'il n'est plus bloqué, le héros tient compte du déplacement par les flèches. Merci en tout cas pour les idées.
mar. 29 oct. 2013 - 13h00
Sinon tu peux remplacer le héros par un évènement qui a le même design, tu rends le héros transparent et selon la direction, il fait avancer l'évènement qui est censé être lui.
mar. 29 oct. 2013 - 14h33
Ou alors, l'utilisation d'un évènement automatique au détriment du processus parallèle pour bloquer le héros "naturellement".
mar. 29 oct. 2013 - 16h06
C'est sur quel RPG Maker? Bon logiquement cette portion de code devrait te dépatouiller dans toutes les versions du moins en théorie: Evenement commun: Processus parallèle Si touche Haut est pressée: > Étiquette: Haut > Événement 01 : Un pas vers le Haut > Attendre 1 frame > Évènement Héros: Attend 1 frame > Si touche Haut est pressée: => Sauter à l’étiquette Haut => Fin Fin Si touche Bas est pressée: > Étiquette: Bas > Événement 01 : Un pas vers le Bas > Attendre 1 frame > Évènement Héros: Attend 1 frame > Si touche Bas est pressée: => Sauter à l’étiquette Bas => Fin Fin Si touche Gauche est pressée: > Étiquette: Gauche > Événement 01 : Un pas vers la Gauche > Attendre 1 frame > Évènement Héros: Attend 1 frame > Si touche Gauche est pressée: => Sauter à l’étiquette Gauche => Fin Fin Si touche Droite est pressée: > Étiquette: Gauche > Événement 01 : Un pas vers la Droite > Attendre 1 frame > Évènement Héros: Attend 1 frame > Si touche Droite est pressée: => Sauter à l’étiquette Droite => Fin Fin Si il y a un souci, tenter de faire attendre une frame juste en dessous de l’étiquette.
mar. 29 oct. 2013 - 16h37
[quote="Garruk"]Sinon tu peux remplacer le héros par un évènement qui a le même design, tu rends le héros transparent et selon la direction, il fait avancer l'évènement qui est censé être lui.[/quote] Finalement je vais prendre cette solution-là car celle avec les étiquettes ne donne rien^^ Merci à tous
mar. 29 oct. 2013 - 18h03
[quote="Joueur1"][quote="Garruk"]Sinon tu peux remplacer le héros par un évènement qui a le même design, tu rends le héros transparent et selon la direction, il fait avancer l'évènement qui est censé être lui.[/quote] Finalement je vais prendre cette solution-là car celle avec les étiquettes ne donne rien^^ Merci à tous [/quote] Du tout? Étonnant, le fait de temporiser la détection et de la looper devrait permettre de détecter les appuis touches maintenus
mar. 29 oct. 2013 - 19h32
Je viens de réessayer ta solution mais cette fois en donnant au héros une vitesse plus basse que celle du personnage (un échelon de moins). Et ça convient bien