Saltare e gravità

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Johnny 97
Newbie
Messaggi: 18
Iscritto il: 30/08/2010, 7:49
Specialità: Creo Storie
Contatta:

Saltare e gravità

Messaggio da Johnny 97 »

Vorrei far saltare il mio personaggio, ma non so come fare...
e dovrei anche impostare la gravità in modo che quando salta cade e quando tocca un oggetto solido si ferma la caduta e può continuare a camminare...
Webu, prima o poi ti ucciderò!!!

Progetti:
Scavi Archeologici (Tool RPG Maker VX)
Spoiler
Crash Bandicoot: A New Adventure (Tool Game Maker 8)
Yeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!!!
O voi che avete firme serie non sapete quant'è bello avere firme inutili

Avatar utente
cp94
Moderatore
Messaggi: 2789
Iscritto il: 04/07/2009, 19:18
Specialità: ddd
Località: Brescia
Contatta:

Re: Saltare e gravità

Messaggio da cp94 »

Codice: Seleziona tutto

if !place_free(x,y+1)
{
vspeed=-9;
gravity=0.5
}
questo codice lo metti nell' evento keyboard press del tasto che vuoi usare per saltare :)
e nell' evento di collisione col pavimento devi aggiungere

Codice: Seleziona tutto

vspeed=0
gravity=0
Games you should check out
Naemo
E T U S
Overgravity
Inside the Code

Immagine

Avatar utente
Feschio
Membro d'elite
Messaggi: 1476
Iscritto il: 02/07/2010, 8:19
Contatta:

Re: Saltare e gravità

Messaggio da Feschio »

oppure, in icone
Immagine e con questo impostti la gravita.
poi nell'evento di collisione con il pavimento metti Immagine
e clicki sulla freccina in giù e imposti come velocità 0
per saltare metti Immagine l'oggetto è il muro ed imposti per esempio se il tuo pg ha 32 di altezza imposti x+32 relativo
poi aggiungi di nuovo Immagine e clicki la freccina su con la speed che vuoi
Valta Korpiklaani! Finlandia Rulez
Nix ha scritto:Lego, tu piaccono alle rosse pescie dimezza cotte?

Avatar utente
cp94
Moderatore
Messaggi: 2789
Iscritto il: 04/07/2009, 19:18
Specialità: ddd
Località: Brescia
Contatta:

Re: Saltare e gravità

Messaggio da cp94 »

Feschioide ha scritto:oppure, in icone
Immagine e con questo impostti la gravita.
poi nell'evento di collisione con il pavimento metti Immagine
e clicki sulla freccina in giù e imposti come velocità 0
per saltare metti Immagine l'oggetto è il muro ed imposti per esempio se il tuo pg ha 32 di altezza imposti x+32 relativo
poi aggiungi di nuovo Immagine e clicki la freccina su con la speed che vuoi
:NO: non puoi fare un salto con Immagine
devi usare
Immagine var: vspeed; value: -9;
e per stoppare la stessa icona con var: vspeed; value: 0.
per controllare se esiste il pavimento, invece:
Immagine, va bene anche Immagine ma la prima funziona anche se sei su qualcosa d'altro che il pavimento, tipo una piattaforma.
ps: e poi è y+32, non x+32, e se scrivi x+ o y+ non serve relative perchè scrivendo y+ è gia un relative! ;)
Games you should check out
Naemo
E T U S
Overgravity
Inside the Code

Immagine

Johnny 97
Newbie
Messaggi: 18
Iscritto il: 30/08/2010, 7:49
Specialità: Creo Storie
Contatta:

Re: Saltare e gravità

Messaggio da Johnny 97 »

ok, grazie cp94, credo che userò il tuo "script" :fapensare:
Webu, prima o poi ti ucciderò!!!

Progetti:
Scavi Archeologici (Tool RPG Maker VX)
Spoiler
Crash Bandicoot: A New Adventure (Tool Game Maker 8)
Yeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!!!
O voi che avete firme serie non sapete quant'è bello avere firme inutili

Avatar utente
Feschio
Membro d'elite
Messaggi: 1476
Iscritto il: 02/07/2010, 8:19
Contatta:

Re: Saltare e gravità

Messaggio da Feschio »

cp94 ha scritto:
Feschioide ha scritto:oppure, in icone
Immagine e con questo impostti la gravita.
poi nell'evento di collisione con il pavimento metti Immagine
e clicki sulla freccina in giù e imposti come velocità 0
per saltare metti Immagine l'oggetto è il muro ed imposti per esempio se il tuo pg ha 32 di altezza imposti x+32 relativo
poi aggiungi di nuovo Immagine e clicki la freccina su con la speed che vuoi
:NO: non puoi fare un salto con Immagine
devi usare
Immagine var: vspeed; value: -9;
e per stoppare la stessa icona con var: vspeed; value: 0.
per controllare se esiste il pavimento, invece:
Immagine, va bene anche Immagine ma la prima funziona anche se sei su qualcosa d'altro che il pavimento, tipo una piattaforma.
ps: e poi è y+32, non x+32, e se scrivi x+ o y+ non serve relative perchè scrivendo y+ è gia un relative! ;)
io il salto l'ho sempre fatto con l'icona, per l'altro problema così sarebbe possibile saltare anche su cose sulle quali forse non si dovrebbe saltare, per l'ultimo problema, colpa mia xD
Valta Korpiklaani! Finlandia Rulez
Nix ha scritto:Lego, tu piaccono alle rosse pescie dimezza cotte?

Avatar utente
Stavros
GMI Advanced
Messaggi: 1914
Iscritto il: 24/02/2010, 20:03
Specialità: PixelArt - Grafica
Uso: GM:Studio 2
Località: QDMA12
Contatta:

Re: Saltare e gravità

Messaggio da Stavros »

Sti utenti nuovi, LEGGETE I TUTORIAL E SEGUITELI... Sti problemi non ci sarebbero

salto (keyboard UP)
Immagine 0, 1, relative
Immagine -6

gravità (step)
Immagine 0, 1, relative
Immagine 0.4
Immagine
Immagine 0

collisione con blocco (collision)
Immagine 0
Immagine direction, -1, only solid

Ti ho descritto con le icone come dovrebbe essere il tuo Personaggio: potresti aggiungere il controllo sulla velocità di caduta, onde evitare fastidiosi bug, il controllo sulle sprite per il salto...

Avatar utente
Fillibis
Newbie
Messaggi: 15
Iscritto il: 04/12/2012, 13:45
Contatta:

Re: Saltare e gravità

Messaggio da Fillibis »

cp94 ha scritto:

Codice: Seleziona tutto

if !place_free(x,y+1)
{
vspeed=-9;
gravity=0.5
}
questo codice lo metti nell' evento keyboard press del tasto che vuoi usare per saltare :)
e nell' evento di collisione col pavimento devi aggiungere

Codice: Seleziona tutto

vspeed=0
gravity=0
Scusate se riprendo questo post vecchio ma volevo ringraziarti per il codice dato che mi è stato davvero utile :)
poi volevo chiederti: come faccio a potermi muovere mentre salto usando i codici?
grazie in anticipo ;)

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Saltare e gravità

Messaggio da gameplay_extreme »

per lo spostamento orizzontale (sia mentre stai saltando oppure no) io di solito faccio una cosa del genre:
in create:

Codice: Seleziona tutto

x_sp = 4
in step:

Codice: Seleziona tutto

if (keyboard_check(vk_right) && place_free(x+x_sp,y))
 {
  x += x_sp
 }
if (keyboard_check(vk_left) && place_free(x-x_sp,y))
 {
  x -= x_sp
 }
questo funziona se l'oggetto parete è solid

se non si vuole usare solid bisogna fare:

Codice: Seleziona tutto

if (keyboard_check(vk_right) && !place_meeting(x+x_sp,y,parete))
 {
  x += x_sp
 }
if (keyboard_check(vk_left) && !place_meeting(x-x_sp,y,parete))
 {
  x -= x_sp
 }
PS: si ricorda che quando c'è una collisione con un oggetto solid viene eseguito automaticamente:

Codice: Seleziona tutto

x = xprevious
y = yprevious
quindi se si è partiti con degli oggetti solidi e adesso si vuole togliere la solidità potrebbe essere necessario aggiungere quelle 2 istruzioni...
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

Avatar utente
Fillibis
Newbie
Messaggi: 15
Iscritto il: 04/12/2012, 13:45
Contatta:

Re: Saltare e gravità

Messaggio da Fillibis »

Grazie mille :D

Avatar utente
Fillibis
Newbie
Messaggi: 15
Iscritto il: 04/12/2012, 13:45
Contatta:

Re: Saltare e gravità

Messaggio da Fillibis »

gameplay_extreme ha scritto:per lo spostamento orizzontale (sia mentre stai saltando oppure no) io di solito faccio una cosa del genre:
in create:

Codice: Seleziona tutto

x_sp = 4
in step:

Codice: Seleziona tutto

if (keyboard_check(vk_right) && place_free(x+x_sp,y))
 {
  x += x_sp
 }
if (keyboard_check(vk_left) && place_free(x-x_sp,y))
 {
  x -= x_sp
 }
questo funziona se l'oggetto parete è solid

se non si vuole usare solid bisogna fare:

Codice: Seleziona tutto

if (keyboard_check(vk_right) && !place_meeting(x+x_sp,y,parete))
 {
  x += x_sp
 }
if (keyboard_check(vk_left) && !place_meeting(x-x_sp,y,parete))
 {
  x -= x_sp
 }
PS: si ricorda che quando c'è una collisione con un oggetto solid viene eseguito automaticamente:

Codice: Seleziona tutto

x = xprevious
y = yprevious
quindi se si è partiti con degli oggetti solidi e adesso si vuole togliere la solidità potrebbe essere necessario aggiungere quelle 2 istruzioni...
Ho un problema,quando salto e atterro su un oggetto che si trova più in alto dell'oggetto da cui ho iniziato il salto,l'oggetto che dovrebbe saltare mi si blocca in aria :( come posso fare? se mi sono spiegato male posso inviarti anche uno screen.

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Saltare e gravità

Messaggio da gameplay_extreme »

cosi su 2 piedi non mi dice niente...
posta uno screen e un show information degli oggetti coinvolti...
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

Avatar utente
Fillibis
Newbie
Messaggi: 15
Iscritto il: 04/12/2012, 13:45
Contatta:

Re: Saltare e gravità

Messaggio da Fillibis »

Spoiler
Immagine
codice del tasto up:

Codice: Seleziona tutto

if !place_free(x,y+1)
{
vspeed=-9;
gravity=0.5
}
codice collision with:

Codice: Seleziona tutto

vspeed=0
gravity=0
step e create ho messo uguale ai tuoi

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Saltare e gravità

Messaggio da gameplay_extreme »

dunque suppongo, dal difetto che mi dici, che le pareti siano "solid"

aggiungi in prima riga, in collision con parete

Codice: Seleziona tutto

move_contact_solid(direction,-1)
(se per lo spostamento orizzonatale utilizzi il mio metodo, quello con x += x_sp ecc.)

(se invece per il movimento orizzontale utilizzi hspeed)
aggiungi in prima riga, in collision con parete

Codice: Seleziona tutto

if (vspeed > 0)
 {
   move_contact_solid(270,-1)
 }
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

Avatar utente
Fillibis
Newbie
Messaggi: 15
Iscritto il: 04/12/2012, 13:45
Contatta:

Re: Saltare e gravità

Messaggio da Fillibis »

ok grazie ora funziona,e dato che mi sono stancato di dover chiedere ogni volta chiarimenti sui codici, sai se esiste una guida che spiega il linguaggio dei codici e altre cose?
perché per ora conosco solo alcune basi e mi piacerebbe imparare:)

Avatar utente
Fillibis
Newbie
Messaggi: 15
Iscritto il: 04/12/2012, 13:45
Contatta:

Re: Saltare e gravità

Messaggio da Fillibis »

ho riscontrato un altro problema,ecco cosa succede:
Spoiler
Immagine
riesco a saltare sull'oggetto ma se dopo mi muovo orizzontalmente l'oggetto vola

Avatar utente
Fillibis
Newbie
Messaggi: 15
Iscritto il: 04/12/2012, 13:45
Contatta:

Re: Saltare e gravità

Messaggio da Fillibis »

Xeryan ha scritto:
Fillibis ha scritto:ok grazie ora funziona,e dato che mi sono stancato di dover chiedere ogni volta chiarimenti sui codici, sai se esiste una guida che spiega il linguaggio dei codici e altre cose?
perché per ora conosco solo alcune basi e mi piacerebbe imparare:)
Santo Manuale (F1 in gamemaker)
grazie :)

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Saltare e gravità

Messaggio da gameplay_extreme »

io risolverei così:
devi controllare continuamente sotto di te: se c'è il pavimento la gravità deve essere 0 se non c'è la gravità deve attivarsi (di solito io metto 0.5)

lascia perdere la gestione della gravita che avevi messo prima (= cancella o commenta le istruzioni che compongono la gestione della gravita che avevi precedentemente messo)

poi step del pg inserisci:

Codice: Seleziona tutto

if place_free(x,y+1)
 {
   gravity = 0.5
 }
else
 {
  gravity = 0
 }
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

Avatar utente
Fillibis
Newbie
Messaggi: 15
Iscritto il: 04/12/2012, 13:45
Contatta:

Re: Saltare e gravità

Messaggio da Fillibis »

grazie ora funziona :)

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 44 ospiti