Spostare oggetti con il Mouse

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
sfigatto
Membro
Messaggi: 227
Iscritto il: 18/04/2014, 23:20
Uso: GM:Studio 1.4 Pro
Contatta:

Spostare oggetti con il Mouse

Messaggio da sfigatto »

Salve ho un piccolo problema nello spostare oggetti con il mouse.
Ho tanti oggetti uguali li cliccandoci sopra con il mouse li posso trascinare da una parte all'altra dello schermo.

Il mio problema è che trascinando un oggetto passando sopra ad un altro oggetto tutti e 2 gli oggetti vengono trascinati.
Non so come modificare il codice in maniera che trascinando un oggetto, passando sopra ad un altro oggetto questo secondo oggetto non venga anche esso trascinato.

il codice che ho usato è abbastanza elementare:

in create

Codice: Seleziona tutto

drag=0;


in mouse left pressed

Codice: Seleziona tutto

drag=1;
in step

Codice: Seleziona tutto


if drag=1
{
mouse_x=x;
mouse_y=y;
}

in global mouse left relesed

Codice: Seleziona tutto

drag=0;

Avatar utente
ball-man_3000
Moderatore
Messaggi: 1263
Iscritto il: 26/08/2009, 13:42
Specialità: Contare con le dita
Uso: GM:Studio 2
Località: Bologna
Contatta:

Re: Spostare oggetti con il Mouse

Messaggio da ball-man_3000 »

Dal momento che utilizzi left pressed e released ciò che dici non dovrebbe accadere(passando sopra ad altri oggetti non dovrebbero venir influenzati) dal momento che il drag viene settato solo nel momento in cui il tasto è premuto.
Sicuro di aver usato l'evento che si verifica solo nel momento esatto della pressione del tasto?(quindi il pressed, e non il semplice mouse check button).
Inoltre nello step event il codice credo dovrebbe essere

Codice: Seleziona tutto

if drag = 1
{
  x = mouse_x;		// Nel tuo codice risulta che setti mouse_x uguale ad x
  y = mouse_y;
}
Quattro corde sono meglio

Avatar utente
sfigatto
Membro
Messaggi: 227
Iscritto il: 18/04/2014, 23:20
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Spostare oggetti con il Mouse

Messaggio da sfigatto »

Grazie ho risolto.

Riguardo al codice
x =mouse_x;
y =mouse_y;
l'ho scritto male qui sul forum per distrazione.

Il problema era che per fare prima avevo fatto un oggetto parent con il codice al quaole rispondevano gli oggetti che anche se uguali avevano sprite differenti.
Ho tolto il parent ed inserito in ogni oggetto il codice ed ora tutto funziona alla perfezione.

Grazie per l'aiuto

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 149 ospiti