Completare il codice per gli analogici - Android

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
Wolfrost
Membro super
Messaggi: 692
Iscritto il: 03/08/2014, 13:08
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Una galassia lontana lontana...
Contatta:

Completare il codice per gli analogici - Android

Messaggio da Wolfrost »

Beh in realtà è molto semplice, ho un object che fa da analogico per il cellulare, ed un object che fa da mask per l'analogico (cioè che l'analogico non può andare fuori da questo object)
Per ora ho creato solo il codice per far sì che l'analogico segua il mouse, e funziona molto bene:

Codice: Seleziona tutto

**CREATE EVENT**
///VARIABLES

global.analogic = false;
original_x = 128
original_y = 352
is_enter = false;

**STEP EVENT**
///ANALOGIC

if is_enter = true
if device_mouse_check_button(0,mb_left) {
    global.analogic = true;
}
if device_mouse_check_button_released(0,mb_left) {
    global.analogic = false;
}

if global.analogic = true
{
    x = mouse_x
    y = mouse_y
}
else if global.analogic = false {
    x = original_x
    y = original_y
}

**MOUSE ENTER EVENT**
is_enter = true
**MOUSE LEAVE EVENT**
is_enter = false
Adesso, però, non ho idee su come far sì che l'analogico non possa andare oltre l'obj_MASK, che sarebbe un cerchio la cui grandezza è il doppio di quella dell'analogico :sisisi:
Piccole idee?
Immagine

Immagine

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Completare il codice per gli analogici - Android

Messaggio da aironenero »

semplicemente settati la coordinata in una variabile, e quando sposti l'analogico controlli che la sua posizione non superi una distanza prefissata (il raggio della mask).
Unity Developer
Immagine
Immagine

Avatar utente
Wolfrost
Membro super
Messaggi: 692
Iscritto il: 03/08/2014, 13:08
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Una galassia lontana lontana...
Contatta:

Re: Completare il codice per gli analogici - Android

Messaggio da Wolfrost »

aironenero ha scritto:semplicemente settati la coordinata in una variabile, e quando sposti l'analogico controlli che la sua posizione non superi una distanza prefissata (il raggio della mask).
Grazie per la delucidazione aironenero, però vorrei sapere qual'è la variabile che gestisce il raggio o robe di questo genere in un cerchio.
Immagine

Immagine

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Completare il codice per gli analogici - Android

Messaggio da aironenero »

Nessuna, fai il calcolo abs(variabile di partenza - variabile attuale) (ABS dà il valore assoluto di una variabile o di una somma)
Unity Developer
Immagine
Immagine

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Completare il codice per gli analogici - Android

Messaggio da Tizzio »

Non servono 2 oggetti:

Codice: Seleziona tutto

//uso variabili in italiano per farti capire, ma è sempre meglio programmare in inglese
raggio = 50;

dir = point_direction(centro_pad_x, centro_pad_y,  mouse_x, mouse_y);
dist = point_distance(centro_pad_x, centro_pad_y,  mouse_x, mouse_y);

analogico.x = centro_pad_x  +  lengthdir_x(min(dist, raggio), dir);
analogico.y = centro_pad_y  +  lengthdir_y(min(dist, raggio), dir);

Avatar utente
Wolfrost
Membro super
Messaggi: 692
Iscritto il: 03/08/2014, 13:08
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Una galassia lontana lontana...
Contatta:

Re: Completare il codice per gli analogici - Android

Messaggio da Wolfrost »

Tizzio ha scritto:Non servono 2 oggetti:

Codice: Seleziona tutto

//uso variabili in italiano per farti capire, ma è sempre meglio programmare in inglese
raggio = 50;

dir = point_direction(centro_pad_x, centro_pad_y,  mouse_x, mouse_y);
dist = point_distance(centro_pad_x, centro_pad_y,  mouse_x, mouse_y);

analogico.x = centro_pad_x  +  lengthdir_x(min(dist, raggio), dir);
analogico.y = centro_pad_y  +  lengthdir_y(min(dist, raggio), dir);
Grazie mille per l'aiuto Tizzio! Ora mi è tutto più chiaro (però nel programma le variabili le ho scritte in inglese :asd: )
Immagine

Immagine

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Completare il codice per gli analogici - Android

Messaggio da Tizzio »

Ma stai facendo serious zeb per android?
Come minimo ti fa un video contro e poi ti denuncia... :?

Mi chiedo se sia legalmente possibile fare un gioco su un personaggio famoso usando il suo "nome d'arte", senza usare sue foto/audio
penso di sì, magari qualcuno ne sa qualcosa?
molto probabilmente non c'è legge su questo caso specifico, dato che non usi alcun materiale protetto da copyright e non invadi la sua "privacy", dato che zeb89 è il nome del suo personaggio

In ogni caso, non vedo l'ora che lo rilasci per godermi il video con la sua rezione
Immagine

Avatar utente
Wolfrost
Membro super
Messaggi: 692
Iscritto il: 03/08/2014, 13:08
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Una galassia lontana lontana...
Contatta:

Re: Completare il codice per gli analogici - Android

Messaggio da Wolfrost »

Tizzio ha scritto:Ma stai facendo serious zeb per android?
Come minimo ti fa un video contro e poi ti denuncia... :?

Mi chiedo se sia legalmente possibile fare un gioco su un personaggio famoso usando il suo "nome d'arte", senza usare sue foto/audio
penso di sì, magari qualcuno ne sa qualcosa?
molto probabilmente non c'è legge su questo caso specifico, dato che non usi alcun materiale protetto da copyright e non invadi la sua "privacy", dato che zeb89 è il nome del suo personaggio

In ogni caso, non vedo l'ora che lo rilasci per godermi il video con la sua rezione
Immagine
Non sto facendo Serious Zeb per Android, semplicemente sto imparando nuove cose su Game Maker e volevo assolutamente provarle sul mio device.
Per quanto riguarda l'argomento "copyright" finchè non diciamo il suo vero nome e non facciamo vedere alcuna sua foto (il gioco è interamente pixelloso come hai visto, la grafica è pulita e minimale, e non ad 8 bit) non potrà mai dirmi niente.
Comunque il caro Pelle-grino mi ha aiutato tantissimo per risolvere tutti i problemi di movimento di Zeb, ma adesso non si fa più sentire... :( Ed io ho ancora qualche problemino!
Essendo molto niubbo avevo chiesto chiaramente la presenza quando ce n'era bisogno... :piagne: E adesso chi cerco?
Immagine

Immagine

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Completare il codice per gli analogici - Android

Messaggio da aironenero »

crei topic per chiedere aiuto!
Unity Developer
Immagine
Immagine

Avatar utente
Wolfrost
Membro super
Messaggi: 692
Iscritto il: 03/08/2014, 13:08
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Una galassia lontana lontana...
Contatta:

Re: Completare il codice per gli analogici - Android

Messaggio da Wolfrost »

aironenero ha scritto:crei topic per chiedere aiuto!
Già ne ho creato uno ma nessuno ha più risposto...
Immagine

Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 151 ospiti