Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Robersio en Mayo 27, 2015, 05:26:05 PM

Título: Click sobre el fullscreen button
Publicado por: Robersio en Mayo 27, 2015, 05:26:05 PM
Hola de nuevo  :-[ Tengo un botón de fullscreen que parece funcionar a la perfección, lo malo es que se supone que tenia que ponerse en fullscreen cuando le diera click izquierdo encima, pero al parecer le doy click izquierdo en cualquier lugar y se cambia al fullscreen. El script que tengo en un evento Step es el siguiente.

if mouse_check_button_pressed(mb_left) {window_set_fullscreen(!window_get_fullscreen());}

¿Cómo puedo hacer para que solo ocurra esto cuando le dé a click izquierdo sobre el botón?  :-[
Título: Re:Click sobre el fullscreen button
Publicado por: Yoo en Mayo 27, 2015, 06:26:38 PM
Solo pásalo al evento Left Pressed Y pon de frente

{window_set_fullscreen(!window_get_fullscreen());}

"mouse_check_button_pressed(mb_left)" devuelsi true si se ha dado clic izquierdo sobre cualquier parte, pero el evento Left Presses da true si se ha dado clic izquierdo sobre el objeto que lo ha citado.
Creo q es la unica manera, o alguien sabe otra que sea solo en código?
Título: Re:Click sobre el fullscreen button
Publicado por: Clamud en Mayo 27, 2015, 06:40:30 PM
El evento Left Pressed funciona sólo cuando se tiene un sprite o máscara de colisión asignada. Otra forma es comparar la posición del puntero con los límites del botón:
[gml]
if mouse_check_button_pressed(mb_left)
{
    if( mouse_x > borde_izquierdo
    and mouse_x < borde_derecho
    and mouse_y > borde_superior
    and mouse_y < borde_inferior )
        window_set_fullscreen(!window_get_fullscreen());
}
[/gml]
Título: Re:Click sobre el fullscreen button
Publicado por: Yoo en Mayo 27, 2015, 07:00:20 PM
Bueno, eso es mas complejo  ???
Otra cosa, ¿Cómo podrímos saber el borde derecho(o izquierdo o inferior o superior)? ¿CON las "bouncing box"?
Título: Re:Click sobre el fullscreen button
Publicado por: Clamud en Mayo 27, 2015, 07:15:59 PM
(Se llama "bounding box") Si, se puede hacer con los límites de esa caja, también se pueden definir los valores manualmente o, como en este caso http://www.comunidadgm.org/desarrollo-de-scripts/botones-automaticos/ (http://www.comunidadgm.org/desarrollo-de-scripts/botones-automaticos/), ajustarse al tamaño del texto.
Título: Re:Click sobre el fullscreen button
Publicado por: Robersio en Mayo 27, 2015, 11:19:27 PM
Tengo otro problema. En el object del "Fullscreen" (el texto al que hay que pulsar) tengo un evento Step con un script así:
if mouse_check_button_pressed(mb_left) && imageNumber <4 {imageNumber+=1}

if keyboard_check(vk_right) {image_index=1};

if imageNumber == 0 {image_index=0}
if imageNumber == 1 {image_index=1}
if imageNumber == 2 {image_index=0}
if imageNumber == 3 {image_index=1}
if imageNumber == 4 {imageNumber=0}


Para que al darle cambie de sprite a ON o a OFF. Lo que pasa es que tengo que hacer que esto pase solo si pulso encima, no si pulso en toda la pantalla.
Título: Re:Click sobre el fullscreen button
Publicado por: arcangelcaos en Mayo 28, 2015, 08:20:19 AM
Hay una cosa que no entiendo, si ya hay un evento que si aprietas el botón, o lo levantas, porque los usas en el step??
Si hay unos eventos específicos para ello??
Título: Re:Click sobre el fullscreen button
Publicado por: Robersio en Mayo 28, 2015, 05:44:49 PM
No sé, lo vi en un vídeo y...
Cómo puedo pasar ese step a un evento entonces?
Título: Re:Click sobre el fullscreen button
Publicado por: arcangelcaos en Mayo 28, 2015, 06:00:07 PM
Haber si me explico, donde se ponen el CREATE, STEP, DRAW, etcc,  si buscad, hay uno que pone mouse, y dentro de el esta, mouse left preses, mouse left realice, etcc. Que son al apretar y al soltar. Hay mas, es cuestión que cojas el que más te gusta.
Este evento solo se ejecuta cuando el mouse haga eso que has puesto, y este tocando el objeto, revísate la mascara, que puede que este mal.

http://www.dazlog.com/manual_GM/Eventos.htm
Título: Re:Click sobre el fullscreen button
Publicado por: Robersio en Mayo 28, 2015, 10:15:21 PM
Ya ya, si eso lo sabía, el problema es que no se pasar el script:

if mouse_check_button_pressed(mb_left) && imageNumber <4 {imageNumber+=1}

if keyboard_check(vk_right) {image_index=1};

if imageNumber == 0 {image_index=0}
if imageNumber == 1 {image_index=1}
if imageNumber == 2 {image_index=0}
if imageNumber == 3 {image_index=1}
if imageNumber == 4 {imageNumber=0}


A un evento de left pressed, es decir, que tengo que cambiar para que funcione.
Título: Re:Click sobre el fullscreen button
Publicado por: penumbra en Mayo 28, 2015, 11:03:33 PM
Borra esta línea de STEP:
Cita de: Robersio en Mayo 27, 2015, 05:26:05 PM
if mouse_check_button_pressed(mb_left) {window_set_fullscreen(!window_get_fullscreen());}

Y usa esto (debes agregar el evento)
EVENTO MOUSE LEFT PRESSED
[gml]window_set_fullscreen(!window_get_fullscreen());[/gml]