| Menu avec des boutons en surbrillance | |
|
|
Auteur | Message |
---|
Mac13 Débutant
Messages : 27
| Sujet: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 15:36 | |
| Bonjour tout le monde ! Donc je cherche tout simplement à faire un menu principal avec les boutons en surbrillance. Ce que je veux faire concrètement, je vais vous le montrer en image. Voici un exemple de mon menu (avec le curseur) : https://2img.net/r/ihimizer/img838/1562/45696004.pngSachant que le curseur et mon menu complet sont un sprite, je veux que, quand le curseur passe, une autre image apparaît par dessus, (celle qui est en surbrillance), ça donne ceci : https://2img.net/r/ihimizer/img266/8454/19529727.pngEn GML c'est possible de faire un truc du style : "Si la souris est sur le sprite, alors le dessiner" et inversement "Si la souris est hors du sprite, alors l'enlever" ? Si vous comprenez pas trop ce que je veux faire, ignorez les explications et regarder seulement les images :gniah: |
|
| |
Vivi Utilisateur confirmé: Rang **
Messages : 321 Localisation : dans ma chambre Projet Actuel : ogc²
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 16:24 | |
| bin en gml tu peux (presque) tout faire, il te suffit de mettre une variable qui au passage de la souris s'incrémente jusque à arriver à 1 ou 255 si tu veux faire un effet progressif et puis dans le draw tu affiche une sprite de surbrillance avec de l'alpha en fonction de la variable et puis la sprite sans surbrillance. En gros l'idée principale c'est d'afficher deux sprite dont une qui dépend de la présence ou pas de la souris. |
|
| |
Boudou Utilisateur confirmé: Rang ***
Messages : 557 Localisation : Marseille Projet Actuel : Boudou
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 16:38 | |
| L'équivalent de mouse enter/leave en GML: Sous STEP Event:if (mouse_x>object_index.x-object_index.sprite_xoffset && mouse_x<object_index.x+object_index.sprite_width-object_index.sprite_xoffset and mouse_y>object_index.y-object_index.sprite_yoffset && mouse_y<object_index.y+object_index.sprite_height-object_index.sprite_yoffset) { //Mouse enter } else { //Mouse leave }Je t'ai fais un exemple au cas ou: http://www.mediafire.com/?6cf72ur9tu9k5p6 |
|
| |
Vivi Utilisateur confirmé: Rang **
Messages : 321 Localisation : dans ma chambre Projet Actuel : ogc²
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 17:16 | |
| mais c'est idiot, pourquoi faire une équivalence alors que l'event existe... |
|
| |
Boudou Utilisateur confirmé: Rang ***
Messages : 557 Localisation : Marseille Projet Actuel : Boudou
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 17:49 | |
| Je sais mais il demande en GML donc... |
|
| |
Mac13 Débutant
Messages : 27
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 18:31 | |
| Pas forcément le "mouse enter/mouse leave" en GML, mais l'action "Si la souris est sur le sprite, alors le dessiner". "Si la souris est sur le sprite" = Mouse enter (GML ou Event peu importe). "... alors le dessiner" : Comment faire ? |
|
| |
Qual Utilisateur confirmé: Rang ****
Messages : 1450 Projet Actuel : Tower Defence
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 19:04 | |
| Bon je suis la. TOut d'abord créé un script que tu appel mouse_in avec ca : - Code:
-
return mouse_x >= argument0 && mouse_x <= argument2 && mouse_y >= argument1 && mouse_y <= argument3 Ce script , tu l'utilise de cette manière : if mouse_in ( x,y,x2,y2 ) {...} Donc dans ton cas, ca doit etre quelque chose du genre if mouse_in (x,y,x+longeurs de l'objet, y+hauteur de l'objet) image_index=0 else image_index=1 dans le cas ou dans le meme sprite, en image 0 tu as l'image de base, et en 1 c'elle en surbrillance.
Dernière édition par Qual le Lun 20 Sep 2010 - 19:08, édité 1 fois |
|
| |
Boudou Utilisateur confirmé: Rang ***
Messages : 557 Localisation : Marseille Projet Actuel : Boudou
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 19:04 | |
| Le dessiner quoi ? :p_gne: EDIT: Qual tu sers plus à rien la |
|
| |
Qual Utilisateur confirmé: Rang ****
Messages : 1450 Projet Actuel : Tower Defence
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 19:25 | |
| O_o Bin quoi ce que j'ai dit marche très bien pour ce qu'il veut faire O_o edit : ou alors il parle d'un mouse_enter, mais avec la gestion de la colision du sprite, et la je sais pas edit 2 : faut dire aussi - Citation :
- Si la souris est sur le sprite, alors le dessiner
soit je suis con parce que je comprend pas, ou alors je comprend pas , donc je suis con xD |
|
| |
Mac13 Débutant
Messages : 27
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 20:35 | |
| Alors le dessiner, dessiner quoi ? bah le sprite en surbrillance :p_lol: |
|
| |
Vivi Utilisateur confirmé: Rang **
Messages : 321 Localisation : dans ma chambre Projet Actuel : ogc²
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 20:45 | |
| bin soite tu le calcule (je crois pas que ce soit la bonne option) soite tu le précalcule avec photoshop genre lueur externe |
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 20:51 | |
| - Qual a écrit:
- soit je suis con parce que je comprend pas, ou alors je comprend pas , donc je suis con xD
ou les deux XD moi je supose un truc : tu met la variable mselect dans create de ton objet que tu doit pointer. Ensuite, tu met dans l'event Mouse Enter - Code:
-
mselect=1 et dans Mouse Leave - Code:
-
mselect=0 et dans Draw - Code:
-
if mselect=1 draw_sprite(surbrillance) else draw_sprite(non_surbrillance) Et voila, tout le monde est content PS : met un masque carré pour que l'on prenne la transparence du sprite |
|
| |
Qual Utilisateur confirmé: Rang ****
Messages : 1450 Projet Actuel : Tower Defence
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 22:00 | |
| ouai, ou les deux |
|
| |
Mac13 Débutant
Messages : 27
| Sujet: Re: Menu avec des boutons en surbrillance Lun 20 Sep 2010 - 23:26 | |
| C'est bon j'ai trouvé un truc qui convient à mes attentes : Dans l'Event Mouse Enter de mon sprite : - Code:
-
// Remplacement de l'image // sprite_index = bouton2; image_index = 0; image_speed = 1; Dans l'Event Mouse Leave de ce même sprite : - Code:
-
// Ré-apparition du précédent objet // sprite_index = bouton1; image_index = 0; image_speed = 1; J'essayerais également la solution de gabin49 pour voir. |
|
| |
Boudou Utilisateur confirmé: Rang ***
Messages : 557 Localisation : Marseille Projet Actuel : Boudou
| Sujet: Re: Menu avec des boutons en surbrillance Mar 21 Sep 2010 - 0:12 | |
| En fait on s'est compliqué la vie pour rien |
|
| |
Qual Utilisateur confirmé: Rang ****
Messages : 1450 Projet Actuel : Tower Defence
| Sujet: Re: Menu avec des boutons en surbrillance Mar 21 Sep 2010 - 0:13 | |
| non bah ouai, on est tous con en fait |
|
| |
Mac13 Débutant
Messages : 27
| Sujet: Re: Menu avec des boutons en surbrillance Mar 21 Sep 2010 - 1:22 | |
| Bon quand on passe la souris sur le sprite, l'image apparait en cut et non en progressif mais bon, c'est pas grave du moment que ce que je voulais faire, je l'ai fait |
|
| |
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: Menu avec des boutons en surbrillance Mar 21 Sep 2010 - 23:06 | |
| Si tu veux en progressif, c'est facile. variable alpha initialisée à 0 dans create. step : if(sprite_index= bouton1) {alpha = max(0, alpha-1/15); } // bouton relaché : alpha descend else if(sprite_index= bouton2) {alpha = min(1, alpha+1/5); } //bouton pressé : alpha monte jusqu'à 1 draw : draw_sprite(bouton1,0,x,y); //le bouton fond if(alpha) draw_sprite_ext(bouton1,0,x,y,1,1,0,c_white, alpha); //la surbrillance Code adapté à ton code pour que tu n'aie rien à changer. J'ai fait la même chose mais en mode lite avec des objets à la place du draw_ext. |
|
| |
Contenu sponsorisé
| Sujet: Re: Menu avec des boutons en surbrillance | |
| |
|
| |
| Menu avec des boutons en surbrillance | |
|