Problème de prog RPG Maker 2003 - pression de touches

Démarré par Atëm, 19 Juillet 2007 à 10:24

0 Membres et 1 Invité sur ce sujet

19 Juillet 2007 à 10:24 Dernière édition: 19 Juillet 2007 à 10:37 par Noxneo
Bonjour, voilà j'ai un problème au niveau de la programmation sur RPG Maker 2003:

Je voudrais quand on appuie sur la touche fléchée de gauche (<-):
L'image de gauche s'illumine.
Tandis que si on appuie sur la touche fléchée de droite (->):
L'image de droite s'illumine.

Screen=



Pouvez vous m'aider?

(Modérateurs pouvez vous déplacer ce topic je n'ai pas vu que je m'était trompé de forum.)

19 Juillet 2007 à 10:34 #1 Dernière édition: 19 Juillet 2007 à 10:48 par Link 57
Je ne suis pas programmeur sous RPG Maker, mais je vais quand même essayer de t'aider, en utilisant la logique, et les variables. :D

Tout d'abord, deux variables semblent être nécessaires pour atteindre ce système. Nommée "personnage=1" pour celui de gauche et "personnage=2" pour celui de droite, afin de préciser quel personnage est le quel (c'est un simple exemple).

Puis une autre variable définissant la position du "curseur", de la sélection (nom : "position" =1 ou =2 selon le personnage sélectionné). ;)

Il s'agirait donc de faire en sorte que si une touche est pressée et que la position est telle position, alors, les deux imges se changent (et s'inversent au niveau de la sélection).

Donc, ça pourrait donner un truc du style (attention, ce qui suit n'est pas un réel code à copier/coller directement, c'est juste une image de ce qui j'imagine, à l'écrit, pas que ça prête confusion... ^^) :


// imaginons que : position=1, personnage=1
si la touche droite est pressée et que la position est égale à 1, alors : le personnage de droite prend pour image le même charset mais sélectionné. La position est maintenant égale à 2, et le personnage est égal à 2.

Et enfin :

// position=2, personnage=2
si la touche gauche est pressée et que la position est égale à 2, alors : le personnage de gauche prend pour image le même charset mais sélectionné. La position est maintenant égale à 1, et le personnage est égal à 1.

Voilà, en toute logique, c'est comme ça (ou presque) que j'aurais marché sous GM. ;)


Après, si tu cherches à faire plus compliqué et que tu voudrais que la sélection puisse aussi se passer lorsqu'on est sur le personnage de droite, qu'on appuie sur la flèche directionnelle droite, par exemple (le personnage de gauche s'illumine), etc, bah voici ce qu'il faudrait "ajouter" :


// imaginons que : position=2, personnage=2
si la touche droite est pressée et que la position est égale à 2, alors : le personnage de gauche prend pour image le même charset mais sélectionné. La position est maintenant égale à 1, et le personnage est égal à 1.

Et pour finir (inversement) :

// imaginons que : position=1, personnage=1
si la touche gauche est pressée et que la position est égale à 1, alors : le personnage de droite prend pour image le même charset mais sélectionné. La position est maintenant égale à 2, et le personnage est égal à 2.


Voilà, j'espère t'avoir bien aidé. Je te conseille fortement de réfléchir à cette solution, qui me semble la meilleure (ou presque) afin que tu saches le faire désormais, si on te le demande. Voilà. :)

Topic dans la mauvaise section, je déplace et je renomme plus explicitement. Merci de faire attention ;)

19 Juillet 2007 à 11:22 #3 Dernière édition: 19 Juillet 2007 à 11:25 par Tolink
@Link 57 : Sauf que lieu une autre variable pour rien, on peut en utiliser qu'une seule puisque une variable peut-être égale à plusieurs chiffres ! =)

EDIT : Sorry, merci Link 57 de m'avoir fait remarquer qu'il y avait bien deux variables différentes ! x)
Si on pouvait supprimmé le post ! :s
Anciennement iArcadia / Zora Rouge


Tu peux aussi le faire avec des switches:

Dans les deux évents, mets-leur chacun deux pages:

Ev. Yugi:
Page 1:Charset Yugi normal et tu mets condition Yugi illuminé OFF
Page 2:Charset Yugi illuminé
Condition:Switch:Yugi illuminé doit être sur ON

Ev. Blondinet
(tu fais la même chose que pour Yugi mais avec blondinet)

Ensuite prend un event avec un Charset invisible quelque part sur la map:
Il doit être en processus paralèle:
Page 1:Condition:Switch Yugi illuminé ON
-Blondinet Illuminé OFF(pour éviter qu'ils ne s'illuminent en même temps)
Page 2:Condition Switch Blondinet illuminé ON
-Yugi illuminé OFF

Ensuite tu crée un deuxième événement invisible en processus paralèle:
Page 1:Condition:Yugi illuminé ON
-Détecter touche:Droite
-Blondinet illuminé ON
-Détecter touche:Gauche
-Blondinet illuminé ON
Page 2:Condition:Blondinet illuminé ON
-Détecter touche:Droite
-Yugi illuminé ON
-Détecter touche:Gauche
-Yugi illuminé ON


Voilà, j'espère que c'est assez clair, je vais pas non plus faire un tuto très détaillé avec des screens, ça c'est un système basique, il y en a des bien plus compliqués^^