Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / News: Quoi de neuf sur Oniromancie (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

414 connectés actuellement

29372572 visiteurs
depuis l'ouverture

1938 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Lunae - le bazar d'Emz0

RPG Maker - La Communauté

Guelnika & E-magination

Alex d'Or

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RPG Maker 2003] Déplacemlent d'un curseur dans un menu


RPG Fusion - posté le 26/01/2014 à 11:15:17 (381 messages postés)

❤ 0

Je fus RPG Fusion jadis

Domaine concerné: Event
Logiciel utilisé: RPG Maker 2003
Salut à tous !
Je suis de retour avec un nouveau problème résoudre.
Voilà, dans mon menu zelda (Celui de Minish Cap) où l´on choisit l´objet que l´on veut équiper, j´ai réussit sans porblème à faire déplacer le curseur de haut en bas.
Seulement, je n´arrive pas à le faire déplacer de gauche à vdroite.
De plus, lorsque veut faire déplacer le curseur, celui ci doit savoir sur quelle objet il se trouve et le déplacement du curseur doit faire à un nombre X de pixels.
Mais lorsque lon fait la commande "Déplacer Image", on nous demande de choisir un emplacement précis et non de faire le déplacement X.
Donc je suppose qu´il faut faire cet évènement avec des variable X et Y et Curseur X et Curseur Y.
J´ai beaucoup cherché des solution, mais je n´en ai pas trouvé ce pourquoi je fais appelle à vous pro en event :p

Merci d´avance :)

Suis Shaper sur Twitter ! - Rejoins le serveur discord de Shaper !


Joke - posté le 26/01/2014 à 12:10:59 (5089 messages postés)

❤ 0

Bilouteux fou

Lis mes réponses sur ce topic ;)

Ça répondra au mieux à ta question je pense, si tu t'y mets sérieusement. ^^

biloumaster.fr, mon joli site ouèb tout bô tout frai !


RPG Fusion - posté le 26/01/2014 à 12:43:58 (381 messages postés)

❤ 0

Je fus RPG Fusion jadis

Ca ne m´a pas vraiment aidé. Pour faire simple, je veux juste savoir comment déplacer le curseur.

Et voilà une image pour montrer où j´en suis :
image

Je peux justedéplacer le curseus sur les trois place d´en bas.
Merci d´avance :)

Suis Shaper sur Twitter ! - Rejoins le serveur discord de Shaper !


Mack - posté le 26/01/2014 à 12:52:31 (2288 messages postés) - staff

❤ 0

On peut pas vraiment t'aider avec le peu d'info que tu nous donnes.

M'enfin, pour faire un menu Zelda Like, c'est pas bien dur, t'as besoin d'une variable Index, qui augmente de 1 quand elle va à droite, diminue de 1 quand elle va à gauche, augmente de X quand elle va en bas, et diminue de X quand elle va en haut ( X étant le nombre de colonnes, donc ici c'est 4 ).

Après, pour l'affichage c'est juste un truc du genre :
Si Index == 0 alors afficher l'image Curseur aux position X/Y.
Si Index == 1 alors afficher l'image Curseur aux position X2/Y2.

Et ainsi de suite.
( Après, tu peux aussi utiliser des calculs pour modifier automatiquement les coordonnées de ton curseur, mais bon, j'ai un peu la flemme de les rechercher. )

( Je prend note de tout les commentaires, même si je n'y répond pas )


Alkanédon - posté le 26/01/2014 à 12:58:39 (8255 messages postés) - -

❤ 0

Citoyen d'Alent

Bah t'as bien réussi à le faire déplacer de haut en bas, donc c'est que t'as compris le truc, faut que tu fasses pareil mais pour l'autre sens maintenant, je pige pas pourquoi tu bloques sérieux :doute5

Mes musiques


Joke - posté le 26/01/2014 à 13:20:53 (5089 messages postés)

❤ 0

Bilouteux fou

Ben le lien que je t'ai donné explique exactement ce que tu veux faire, lapin.

Ça m'embête de devoir tout ré-expliquer parce que tu n'essaie pas plus de comprendre la technique. :doute6 Et prétendre alors implicitement que je n'ai pas été capable de comprendre ta demande, n'est-ce pas l'hopital qui se moque de la charité ? :wouah

Je plaisante, j'exagère, je ne t'en veux pas si ce que j'ai écrit à Sahone ait pu paraître un peu compliqué pour toi, ou vraiment peu clair.

Aussi compliqué que ça puisse paraître, c'est VRAIMENT le plus simple et efficace à faire ! ;)
Plus important à comprendre encore : c'est VRAIMENT simple !

La preuve : J'ai mis seulement 10 minutes à expliquer ce qui suit. Je pourrais t'écrire le code complet en 10 minutes mais ça serait beaucoup moins pédagogique et tu vas déjà avoir tout le nécessaire pour le faire toi-même.

Voici le calquage de la méthode sur ta situation :

image

Je pars du principe que l'image de ton curseur fait la même taille que ce qu'on voit (28*24 pixel). S'il y a une marge vide et égale autour c'est exactement pareil de toute façon.

Tu n'as besoin que de ces quatre valeurs (renseignées sur l'image) et deux supplémentaires (simple observation) pour positionner ton curseur très facilement, où tu veux :

Position initiale du curseur :
X = 106
Y = 82


Déplacement du curseur :
En X = 36
En Y = 24


Caractéristiques de ton tableau :
Nombre de colonnes : 4
Nombre d'emplacements : 13


Tu vas retrouver ces 6 valeurs dans les explications qui suivent, en italique, à toi de faire le lien !

Si les valeurs que j'ai mesuré sont fausse, tu n'as qu'à changer celle qui ne colle pas.

Maintenant tu vois les nombres verts allant de 0 à 12 ?

Ce sont les index de tes emplacements d'objet.

Si on utilise une variable "Index" correspondant exactement aux emplacements que j'ai indexé, on peut calculer la position "X_curseur" et "Y_curseur" (deux autres variables) pour positionner l'image du curseur en fonction de ces deux variables, seulement et simplement en fonction de cette variable "Index" et des quatre valeurs que j'ai cité ci-dessus. C'est ce qu'explique le lien que tu as décliné ci-dessus. Barbare.

Ça ne fait que trois variables, jusque là c'est pas compliqué. ^^

Mettons :

Tu veux déplacer le curseur vers la droite ? Tu n'auras qu'à additionner 1 à "Index", la position du curseur se calculera en fonction, ton curseur sera déplacé vers la droite.

Tu veux déplacer le curseur vers le bas ? Tu n'auras qu'à additionner 4 à "Index", la position du curseur se calculera en fonction, ton curseur sera déplacé vers le bas.

Tu veux le déplacer vers le haut ? Tu soustrait 4.

Tu veux le déplacer vers la gauche ? Tu soustrait 1.

Tu veux que :
- Si ton curseur est sur l'emplacement 0, quand tu appuie sur "haut" ou "gauche", ça passe à la position 12 ?
- Si ton curseur est sur l'emplacement 12, quand tu appuie sur "bas" ou "droite", ça passe à la position 0 ?

Rien de plus simple ! Tu fais : "Index modulo 13" juste avant de calculer la position du curseur !

Tu veux que :
- Si ton curseur est sur la colonne tout à droite, quand tu appuie sur "droite", ton curseur se retrouve tout à gauche, une ligne plus bas ?
- Si ton curseur est sur la colonne tout à gauche, quand tu appuie sur "gauche", ton curseur se retrouve tout à droite, une ligne plus haut ?

Alors plus simple que ça, c'est impossible : Tu n'as rien à faire ! C'est déjà ce que va donner le calcul de la position de l'image.

Ça ne paraît pas beaucoup plus simple, si on peut faire comme ça ?

Mais comment calculer la position du curseur, en fonction de "Index", alors ?

Si l'on utilise les quatre valeurs que j'ai mesuré :

X_curseur = Index modulo 4 * 36 + 106
Y_curseur = Index / 4 * 24 + 82


C'est tout.

Ca gère même ton super emplacement large en index 12, la seule particularité c'est que le curseur devra changer de taille (donc, d'image) à la condition "si Index = 12".
Pour la position, c'est exactement le même calcul.

Et si l'emplacement que j'ai indexé "12" n'est pas un seul emplacement, mais par exemple l'emplacement de trois bouteilles ?

C'est simple :
Il n'y a pas 13 emplacements dans ton tableau, mais 15 emplacements en fait, je me serais trompé !
Alors dans mon explication, quand j'ai utilisé le nombre 13, il fallait en fait que j'utilise le nombre 15. C'est tout. Aussi simple que ça.

Tu veux qu'on sache sur quel objet le curseur se trouve ?
C'est simple, en déplaçant ton curseur en fonction d'un Index, tu sais toujours où il sera positionné dans la grille !
Et quel est l'objet correspondant par exemple à l'Index "5" ?
C'est toi qui définis ce que tu vas mettre à cette position ! Par exemple : "si Index = 5 ... On est sur le boomerang !"

Tu veux placer un objet dans l'emplacement à l'Index correspondant ?
La position de l'objet... C'est exactement le même calcul que la position du curseur !

Magique ou bien ?

Le reste des explications, c'est dans le lien que j'ai donné.

Fais moi un joli code à partir de ce coup de pouce magistral, et je te dirais si c'est bien codé. :wouah

biloumaster.fr, mon joli site ouèb tout bô tout frai !


RPG Fusion - posté le 26/01/2014 à 15:02:08 (381 messages postés)

❤ 0

Je fus RPG Fusion jadis

J´y ai passé Près de 2heures et je n´ai toujours pas réussis :/
*Désespéré*

Suis Shaper sur Twitter ! - Rejoins le serveur discord de Shaper !


Joke - posté le 26/01/2014 à 15:08:34 (5089 messages postés)

❤ 0

Bilouteux fou

Relecture, questions pour ce que tu n'as pas compris et screenshots pour ce que tu as fait. ;)

Au passage, j'ai rajouté :

Joke a dit:


image

Et si l'emplacement que j'ai indexé "12" n'est pas un seul emplacement, mais par exemple l'emplacement de trois bouteilles ?

C'est simple :
Il n'y a pas 13 emplacements dans ton tableau, mais 15 emplacements en fait, je me serais trompé !
Alors dans mon explication, quand j'ai utilisé le nombre 13, il fallait en fait que j'utilise le nombre 15. C'est tout. Aussi simple que ça.



Et oui, j'avais oublié que tu faisais un Zelda, mais c'est pareil au final. ^^

biloumaster.fr, mon joli site ouèb tout bô tout frai !


RPG Fusion - posté le 26/01/2014 à 15:20:47 (381 messages postés)

❤ 0

Je fus RPG Fusion jadis

Mouais, mais ça change rien, quand j´utilise la flèche de droite, ça fait rien et quand j´utilise celle de gauche, ça part en bas

Suis Shaper sur Twitter ! - Rejoins le serveur discord de Shaper !


Joke - posté le 26/01/2014 à 15:27:28 (5089 messages postés)

❤ 0

Bilouteux fou

Joke a dit:


Relecture, questions pour ce que tu n'as pas compris et screenshots pour ce que tu as fait. ;)

A moins que tu penses que te dis n'importe quoi... En revanche je ne sais pas du tout ce que tu as fait.

EDIT :

Je viens de vérifier, et je suis choqué !

Quand je t'ai dis de faire "modulo 13", en fait "modulo 15" en considérant 3 bouteilles... Le comportement du modulo de RM2003 n'est pas le même que le modulo dans sa définition générale !!! :o

Normalement :

-1 modulo 15 ça donne 14

Mais dans RM2003 spécialement, ça donne -1 !! X_X

Jusqu'à -15 modulo 15 = 0 !

Alors dans tout ce que j'ai dis, tu dois rajouter la condition :

Si "Index" < 0, Modifier variable "Index" additionner 15

Juste après avoir fait :

Index modulo 15

Ce cas est vraiiiiiiiment particulier à RM2003 !!

A part cette abomination propre à RM2003, tout le reste fonctionne comme j'ai prévu.


EDIT 2 : Voilà un menu comme il est fait rapidement !

Les deux commandes "Appui d'une touche" dans les screens qui suivent ont l'option "Attendre l'appui" de coché.

Ce premier événement permet d'ouvrir et fermer le menu, et d'utiliser un objet.

image

Ce deuxième événement permet de commander le curseur (déplacement)

image

Ce troisième événement c'est le déplacement du curseur.
Je pouvais écrire ça directement dans le second, mais la flemme, c'est plus propre comme ça.

image

image

biloumaster.fr, mon joli site ouèb tout bô tout frai !


Tassle - posté le 26/01/2014 à 16:33:54 (5234 messages postés)

❤ 0

Disciple de Pythagolf

Citation:

Ce cas est vraiiiiiiiment particulier à RM2003 !!

A part cette abomination propre à RM2003, tout le reste fonctionne comme j'ai prévu.


Il me semble que RM2K3 est codé en C++, qui gère le modulo comme ça. ^^

~~


zeus81 - posté le 26/01/2014 à 16:34:19 (11071 messages postés)

❤ 0

C'est le comportement normal du modulo en C.
Ce qu'il faut faire c'est :
x %= 15
Si x < 0
<> x += 15
Fin si


Hellper - posté le 26/01/2014 à 16:39:39 (5402 messages postés)

❤ 0

Tonton Hellper

Joke a dit:


Normalement :
-1 modulo 15 ça donne 14
Mais dans RM2003 spécialement, ça donne -1 !! X_X
Jusqu'à -15 modulo 15 = 0 !


????
Ça me semble pourtant logique que -1%15 = -1 puisque -1 = 15*0+(-1).
Mais suppose qu'il y a en fait dans un modulo un règle que je ne connais pas et qui forcerais à calculer que -1 = 15*(-1)+14, comme l'obligation de retourner un nombre positif ?

La liste des raisons pour lesquelles le making se meurt, la cinquième va vous étoner | Des projets abandonnés, source d'inspiration :D | Mes jeux


Joke - posté le 26/01/2014 à 16:40:24 (5089 messages postés)

❤ 0

Bilouteux fou

Et bien, je n'ai pas fini de me tromper sur les modulos ! ^^

Moi qui voulait faire un tutoriel dessus, il faudra déjà que je revoie ceux que j'ai fait. ^^

Quand j'ai donné conseil à Sahone je n'avais pas vérifié ce que je lui disais xD Il a du prendre la méthode "Si i < 0, i = 0" "Si i > nombre max, i = nombre max". ^^

Hellper > Oui, dans les versions plus récente de RM, et dans la calculatrice de google, -1 % 15 donne 14 car il y a l'obligation du nombre positif qui s'opère en cylindrique.

L'exemple le plus simple c'est le rapporteur et la définition de l'unité angulaire, si tu as -10°, que le négatif ne te plait pas, tu sais que ça équivaut au positif 350°. (Ce qu'on observe dans toute unité d'angle, en fait) C'est ce que fait le modulo en Ruby et je ne sais pas quel autre langage du coup.

biloumaster.fr, mon joli site ouèb tout bô tout frai !


Tassle - posté le 26/01/2014 à 16:51:26 (5234 messages postés)

❤ 0

Disciple de Pythagolf

Citation:

Mais suppose qu'il y a en fait dans un modulo un règle que je ne connais pas et qui forcerais à calculer que -1 = 15*(-1)+14, comme l'obligation de retourner un nombre positif ?


Bah au lycée on a une définition du genre : le résidu d'un nombre n modulo q est le nombre r tel que 0 <= r < q et k*q + r = n (avec k entier). ^^
Et le reste dans une division euclidienne est en général aussi défini comme étant positif.

~~


RPG Fusion - posté le 28/01/2014 à 10:59:37 (381 messages postés)

❤ 0

Je fus RPG Fusion jadis

Ah merci...., je comprend beaucoup mieux comme cela Joke :grossourire
Merci beaucoup, je pense maintenant que je vais être à l'aise avec ce système maintenant que tu m'a réexpliqué avec des images.

En fait, je crois que je comprend beaucou p mieux avec des images.
En tout cas, ton .gif est très bien réalisé et tu as vraiment expliqué.

Je pense que tu devrais tout reprendre ce que tu m'as écrit et que tu devrais en faire un tuto dans la section RPG Maker 2003.

Ca en aiderais plus d'un. :)

EDIT :
Je voulais juste demander :
J'ai un chipset de pokédex pour pouvoir faire un pokédex sur Rm2k3.
Le problème, c'est que la couche 2 prend sur la couche 1 et lorsque l'on pose des tiles de la couche 1 on les vois pas lorsque l'on lance le projet. Pourtant, lorsque j'ai importé le chipset, j'ai bien mis la transparance sur la couleur que je voulais.
Pouvez vous m'aider s'il vous plait ?
Merci d'avance.

Suis Shaper sur Twitter ! - Rejoins le serveur discord de Shaper !


Anton_ - posté le 28/01/2014 à 15:48:44 (1522 messages postés)

❤ 0

Citation:

c'est que la couche 2 prend sur la couche 1 et lorsque l'on pose des tiles de la couche 1 on les vois pas lorsque l'on lance le projet

couche 2 ? couche 1 ? Tu parles de la couche supérieure et inférieure, peut être ?

Dans ce cas, c'est normal d'avoir la couche supérieure (2) qui masque la couche inférieure (1), c'est pas dû à la transparence.

Raetribution | Megamike || tutos : 1 2 || TowerClimb cé bien || Rang Master sur TGM3.


RPG Fusion - posté le 28/01/2014 à 19:49:03 (381 messages postés)

❤ 0

Je fus RPG Fusion jadis

Oui, je parle de ces couches là :)
Alors, comment on résoud ce problème ?

Suis Shaper sur Twitter ! - Rejoins le serveur discord de Shaper !


Anton_ - posté le 29/01/2014 à 13:08:33 (1522 messages postés)

❤ 0

Soit tu n'affiches pas la couche supérieure (le premier tile DOIT toujours être transparent, utilise ce tile partout pour le niveau supérieur)
Soit tu déplaces les tiles que tu veux dans le niveau supérieur (aide toi d'un template vide pour voir où commence la couche supérieure)

Raetribution | Megamike || tutos : 1 2 || TowerClimb cé bien || Rang Master sur TGM3.


Joke - posté le 29/01/2014 à 13:23:02 (5089 messages postés)

❤ 0

Bilouteux fou

Ta couche 2 remplit par défaut ta map avec un tile que tu ne veux pas ?

biloumaster.fr, mon joli site ouèb tout bô tout frai !


RPG Fusion - posté le 29/01/2014 à 16:01:17 (381 messages postés)

❤ 0

Je fus RPG Fusion jadis

Mais j´ai mis la transparance sur la première case d tiles et j´ai remplie avec ce tile transparant.
Mais ça prend quand meme l´écran et tout ce que je met de la couche inférieur ne se voit pas :/

Suis Shaper sur Twitter ! - Rejoins le serveur discord de Shaper !


Joke - posté le 29/01/2014 à 17:15:07 (5089 messages postés)

❤ 0

Bilouteux fou

C'est très clair.

biloumaster.fr, mon joli site ouèb tout bô tout frai !


Anton_ - posté le 29/01/2014 à 17:24:19 (1522 messages postés)

❤ 0

C'est déjà arrivé à Mael une fois avec son tileset...

Ne met pas ce tileset alors :tirlalangue2

Raetribution | Megamike || tutos : 1 2 || TowerClimb cé bien || Rang Master sur TGM3.

Index du forum > Entraide > [RPG Maker 2003] Déplacemlent d'un curseur dans un menu

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers