evento mouse left pressed in GML (globale e non) [RISOLTO]

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
Jonathan
Newbie
Messaggi: 6
Iscritto il: 12/08/2018, 21:42
Specialità: Grafica
Uso: GM:Studio 1.4 Android
Località: (Svizzera)
Contatta:

evento mouse left pressed in GML (globale e non) [RISOLTO]

Messaggio da Jonathan »

Ciao,

mi servirebbe sapere un modo per scrivere in STEP event.

Mi spiego meglio: io prima mettevo in evento mouse global left pressed dell'oggetto player questo:

Codice: Seleziona tutto

instance_create_layer(x + 0, y + 0, "Instances", obj_puff);
vspeed = spinta;
audio_play_sound(sou_jump, 0, 0);
e in un altro oggetto bottone nell'evento mouse left pressed questo:

Codice: Seleziona tutto

sprite_index = spr_play;
image_index = 2;
poi ho deciso di mettere tutto in step event (per non avere troppi eventi e avere tutto listato in step event).

quindi nell'oggetto player in step event:

Codice: Seleziona tutto

if (keyboard_check_pressed(vk_space) || mouse_check_button_pressed(mb_left) || keyboard_check_pressed(vk_up))
  {
    instance_create_layer(x + 0, y + 0, "Instances", obj_puff);
    vspeed = spinta;
    audio_play_sound(sou_jump, 0, 0);
  }
questo lo prende come tasto globale (ed è quello che volevo).

ma nell'oggetto bottone scrivendo:

Codice: Seleziona tutto

if (mouse_check_button_pressed(mb_left))
  {
    sprite_index = spr_play;
    image_index = 2;
  }
prende anche qui globalmente, ma io vorrei che solo quando il puntatore è sull'oggetto e ci clicca processa il codice.

Grazie in anticipo.
Ultima modifica di Jonathan il 19/08/2018, 12:09, modificato 1 volta in totale.
Immagina, progetta, crea!

Avatar utente
Jonathan
Newbie
Messaggi: 6
Iscritto il: 12/08/2018, 21:42
Specialità: Grafica
Uso: GM:Studio 1.4 Android
Località: (Svizzera)
Contatta:

Re: evento mouse left pressed in GML (globale e non)

Messaggio da Jonathan »

Risolto grazie a doom13 su chat Discord:

basta dire che quando il mouse si trova in coordinate precise in coincidenza dell'oggetto la funzione mouse left pressed è attivabile.

esempio:

Codice: Seleziona tutto

if (mouse_x >=x  && mouse_x <=x+200  && mouse_y >=y  && mouse_y <=y+50 && mouse_check_button_pressed(mb_left))
  {
    sprite_index = spr_play;
    image_index = 2;
  }  
Immagina, progetta, crea!

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 143 ospiti