Cla
Newbie
Messaggi: 4
Iscritto il: 23/08/2015, 10:51
Uso: GM:Studio 1.4 Free
Contatta:

Rimbalzo oggetto lanciato

Messaggio da Cla »

dopo le dovute presentazioni, parto con le domande :asd:
Il problema suppongo sia abbastanza comune, ma non sono riuscito a trovare una guida(che riguardasse giochi ad 8 direzioni).. riguarda un oggetto lanciato nelle 8 direzioni, ed una volta lanciato deve eseguire dei rimbalzi prima di finire la sua corsa, deduco che l'oggetto debba avere un moto parabolico, c'è qualcuno che può darmi una mano?

Grazi in anticipo!
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: Rimbalzo oggetto lanciato

Messaggio da Wolfrost »

Cla ha scritto:dopo le dovute presentazioni, parto con le domande :asd:
Il problema suppongo sia abbastanza comune, ma non sono riuscito a trovare una guida(che riguardasse giochi ad 8 direzioni).. riguarda un oggetto lanciato nelle 8 direzioni, ed una volta lanciato deve eseguire dei rimbalzi prima di finire la sua corsa, deduco che l'oggetto debba avere un moto parabolico, c'è qualcuno che può darmi una mano?

Grazi in anticipo!
Non ho capito come hai strutturato il gioco... spiegati meglio :confuso:
Immagine

Immagine
Cla
Newbie
Messaggi: 4
Iscritto il: 23/08/2015, 10:51
Uso: GM:Studio 1.4 Free
Contatta:

Re: Rimbalzo oggetto lanciato

Messaggio da Cla »

Wolfrost ha scritto: Non ho capito come hai strutturato il gioco... spiegati meglio :confuso:
Si tratta di un gioco basato sul tennis, con vista dall'alto, quindi una volta lanciata la palla, quest'ultima deve effettuare dei rimbalzi toccando il suolo.
E già che ci sono ne approfitto per chiedere se c'è un modo per dare l'effetto alla palla (sinistra/destra) :asd:
Avatar utente
CaptainOlon
Membro attivo
Messaggi: 441
Iscritto il: 30/07/2011, 14:56
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Salerno
Contatta:

Re: Rimbalzo oggetto lanciato

Messaggio da CaptainOlon »

Beh, se è con vista dall'alto perché complicarsi la vita con le traiettorie paraboliche? Non si vedono.. Potresti usare una variabile che indica l'altezza della pallina e regolare lo sprite (oppure lo scale) a seconda del valore di questa variabile..
Immagine
Immagine
Avatar utente
pacmino
GMI Guru
Messaggi: 2569
Iscritto il: 03/06/2009, 16:38
Specialità: Scazzato cronico
Uso: GM:Studio 2
Località: Seconda stella a destra questo è il cammino e poi dritto, fino al mattino...
Contatta:

Re: Rimbalzo oggetto lanciato

Messaggio da pacmino »

se è vista dall'alto è come il pong
Immagine
Avatar utente
Alv
Membro
Messaggi: 131
Iscritto il: 14/11/2014, 22:33
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Sicilia
Contatta:

Re: Rimbalzo oggetto lanciato

Messaggio da Alv »

Cla ha scritto:
Wolfrost ha scritto: Non ho capito come hai strutturato il gioco... spiegati meglio :confuso:
Si tratta di un gioco basato sul tennis, con vista dall'alto, quindi una volta lanciata la palla, quest'ultima deve effettuare dei rimbalzi toccando il suolo.
E già che ci sono ne approfitto per chiedere se c'è un modo per dare l'effetto alla palla (sinistra/destra) :asd:
Visuale top-down o falsa 3D come Final Fantasy 6? Comunque io gestirei l'altezza della palla inizializzando una terza variabile z (e zvel, che rappresenta la velocità lungo l'asse). Ora, se la visuale è top-down, ti basta cambiare lo scaling dello sprite in funzione di z; altrimenti, potresti disegnare sia l'ombra che la palla con il seguente codice:

Codice: Seleziona tutto

draw_sprite(ombra,0,x,y);
draw_sprite(palla,0,x,y-z);
A questo punto, occorre fare in modo che la palla si muova lungo l'asse z: simulare la gravità e il rimbalzo.

Codice: Seleziona tutto

zvel-=grav;
z+=zvel;
if (z<0) {
    z=0;
    zvel=-zvel*0.7;
}
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: Rimbalzo oggetto lanciato

Messaggio da Wolfrost »

Alv ha scritto:
Cla ha scritto:
Wolfrost ha scritto: Non ho capito come hai strutturato il gioco... spiegati meglio :confuso:
Si tratta di un gioco basato sul tennis, con vista dall'alto, quindi una volta lanciata la palla, quest'ultima deve effettuare dei rimbalzi toccando il suolo.
E già che ci sono ne approfitto per chiedere se c'è un modo per dare l'effetto alla palla (sinistra/destra) :asd:
Visuale top-down o falsa 3d come Final Fantasy 6? Comunque io gestirei l'altezza della palla inizializzando una terza variabile, z (e zvel che rappresenta la velocità lungo l'asse). Ora, se la visuale è top-down ti basta cambiare lo scaling dello sprite in funzione di z, altrimenti potresti disegnare sia l'ombra che la palla con il seguente codice:

Codice: Seleziona tutto

draw_sprite(ombra,0,x,y);
draw_sprite(palla,0,x,y-z);
A questo punto occorre fare in modo che la palla si muova lungo l'asse z: simulare la gravità e il rimbalzo.

Codice: Seleziona tutto

zvel-=grav;
z+=zvel;
if (z<0) {
    z=0;
    zvel=-zvel*0.7;
}
Sistema interessante :cappa:
Immagine

Immagine
Cla
Newbie
Messaggi: 4
Iscritto il: 23/08/2015, 10:51
Uso: GM:Studio 1.4 Free
Contatta:

Re: Rimbalzo oggetto lanciato

Messaggio da Cla »

Esatto, proprio come ha suggerito Alv, ho optato per l'asse z, al momento sembrerebbe funzionare, più l'aggiunta dell'effetto ombra direi che sono più che soddisfatto.
Per imprimere effetto alla palla verso sinistra o destra, in base alla freccia tenuta premuta dopo il lancio della palla, qualcuno a un'idea da proporre?

ancora grazie a tutti per i consigli ;)
Avatar utente
CaptainOlon
Membro attivo
Messaggi: 441
Iscritto il: 30/07/2011, 14:56
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Salerno
Contatta:

Re: Rimbalzo oggetto lanciato

Messaggio da CaptainOlon »

Semplicemente potresti incrementare di poco la direction della palla se si tiene premuta la freccia destra o decrementare se si tiene premuta la freccia sinistra. Inoltre potresti aggiungere un limite alla direzione e forse anche l'esclusione dell'altra direzione, ovvero se premi sinistra per dare l'effetto a sinistra alla palla, dopo non puoi dare l'effetto a destra; o una o l'altra.

PS. non ti scrivo codici dato che hai chiesto un'idea. E poi è meglio che cerchi di scriverlo tu, così ti alleni ;)
Immagine
Immagine