Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Problème de remplacement get_integer Lun 7 Oct 2013 - 13:46 | |
| Bizour les zenfants, j'ai un petit problème avec un code pour remplacer get_integer par mon propre script plus design pour mon programme Mé stalor que le grand méchant problème arrive. Bref, je voudrais qu'en cliquant sur un bouton, je pourrais renvoyer le texte entré, mais que la touche Entrée fasse de même. Voilou mon cocode : - Code:
-
// Replacing the get_integer of GameMaker. // But meh, returns a real
global.tmpsurf = surface_create(room_width,room_height); keyboard_string = argument1; global.curstring = keyboard_string;
surface_set_target(global.tmpsurf); screen_redraw(); surface_reset_target();
tmpobj = object_add(); object_set_depth(tmpobj,-10000); object_event_add(tmpobj,ev_draw,0,"/* Plein de machin draw */");
instance_create(0,0,tmpobj); screen_redraw();
while !(keyboard_check_pressed(vk_enter)) // C'la que je voudrais vérifier qu'on a bien cliqué dans la bonne zone ou qu'on a appuyé sur Entrée { screen_redraw(); screen_wait_vsync(); keyboard_wait();
if keyboard_check_pressed(vk_anykey) { global.curstring=real(keyboard_string); } } surface_free(global.tmpsurf); object_delete(tmpobj); io_clear(); return real(global.curstring);
Tite idée? |
|
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Problème de remplacement get_integer Lun 7 Oct 2013 - 14:05 | |
| En regardant la position de la souris (mouse_x,mouse_y) au moment ou tu relâches le clic gauche (mouse_check_released(mb_left) ), ça devrait marcher, non? Au passage, je ne suis pas sûr qu' il est bon de laisser le programme tourner dans une boucle. Il ne vaudrait pas mieux laisser la boucle principale de GM s'occuper de tout? |
|
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Problème de remplacement get_integer Lun 7 Oct 2013 - 16:35 | |
| - M@d_Doc a écrit:
- En regardant la position de la souris (mouse_x,mouse_y) au moment ou tu relâches le clic gauche (mouse_check_released(mb_left) ), ça devrait marcher, non?
Au passage, je ne suis pas sûr qu' il est bon de laisser le programme tourner dans une boucle. Il ne vaudrait pas mieux laisser la boucle principale de GM s'occuper de tout? Le problème c'est que le keyboard_wait fait bugger le tout Beuh, c'tadire? Ca fonctionne parfaitement pour moi. PS, je veux immobiliser toute action extérieure depuis un seul script sans modifier le reste |
|
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Problème de remplacement get_integer Lun 7 Oct 2013 - 16:37 | |
| Pense a update les entrées sorties avec io_handle(), ça devrait mieux marcher. |
|
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Problème de remplacement get_integer Lun 7 Oct 2013 - 16:59 | |
| Si ça bloque les entrées/sorties, ça ne risque pas d'ignorer les clics de souris? |
|
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Problème de remplacement get_integer Lun 7 Oct 2013 - 18:22 | |
| io_handle() récupère tous les events donc ça update aussi les clics de la souris. |
|
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Problème de remplacement get_integer Lun 7 Oct 2013 - 19:06 | |
| Bon bah j'ai trouvé, merci ^^ - Code:
-
while !(keyboard_check_pressed(vk_enter))&&!(is_zone_pressed(/*position*/) // Huh, is_zone_pressed est un script pour savoir si la zone a été appuyée avec la souris { screen_redraw(); screen_wait_vsync(); io_handle();
if keyboard_check_pressed(vk_anykey) { global.curstring=real(keyboard_string); } } |
|
Contenu sponsorisé
| Sujet: Re: Problème de remplacement get_integer | |
| |
|