Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: mouse_check_area Lun 19 Aoû 2013 - 16:03 | |
| Très simple script pour les débutants qui leur permettra de vérifier si le curseur est dans une certaine zone. Syntaxe : mouse_check_area(x1,x2,y1,y2); Retourne : false (0) si la souris n'est pas dans la zone ou true (1) si elle l'est. - Citation :
- if (mouse_x>argument0)&&(mouse_x<argument2)&&(mouse_y>argument1)&&(mouse_y<argument3)
return 1; _________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|
GrandeLangue Bonne participation
Messages : 77 Localisation : Lille Projet Actuel : Faire des maths
| Sujet: Re: mouse_check_area Lun 19 Aoû 2013 - 16:49 | |
| Ce code serait mieux : - Code:
-
var x_min, x_max, y_min, y_max;
if argument0 <= argument2 { x_min = argument0; x_max = argument2; } else { x_min = argument2; x_max = argument0; }
if argument1 <= argument3 { y_min = argument1; y_max = argument3; } else { y_min = argument3; y_max = argument1; }
return mouse_x >= x_min && mouse_x <= x_max && mouse_y >= y_min && mouse_y <= y_max; Il fonctionne quelles que soit les valeurs des arguments, corrige les comparaisons strictes en larges et surtout il évite le if true {return 1} qui n'est pas très élégant. La syntaxe est : mouse_check_area(x1, y1, x2, y2); Ou bien si vraiment on veut condenser (en une ligne) : - Code:
-
return mouse_x >= min(argument0, argument2) && mouse_x <= max(argument0, argument2) && mouse_y >= min(argument1, argument3) && mouse_y <= max(argument1, argument3); |
|
SPLN Utilisateur confirmé: Rang ***
Messages : 588 Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)
| Sujet: Re: mouse_check_area Lun 19 Aoû 2013 - 17:14 | |
| Il existe pas déjà ce script sous le nom de mouse_rect() ? Il me semble qu'il déjà dans le section script, avec une grand guerre sur l'optimisation, n'est-ce pas onilink :vP Je crois aussi l'avoir vu sous le nom de mouse_in() mais bon, on est plus à ça près. |
|
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: mouse_check_area Lun 19 Aoû 2013 - 17:18 | |
| Bah, pour un script comme ca, ca vaut pas la peine de se casser le *** à essayer de l'optimiser ; surtout que si ca se trouve, il met plus de temps à capter le gros code que le petit..... (m'enfin je dis ca mais j'en sait rien... ) C'est juste des conditions, sans appel à d'autres fonctions natives alors... _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: mouse_check_area Ven 23 Aoû 2013 - 2:23 | |
| Honnêtement, j'ai été étonné. J'utilise ce genre de code depuis belle lurette, et quand tu l'utilise pour des boutons, ça peut ramer assez vite en fait. Après, je mettais du draw dedans aussi mais bon... _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
Contenu sponsorisé
| Sujet: Re: mouse_check_area | |
| |
|