Sharkiller ha scritto:Si l'ho messo nello step event del personaggio. E nella collisione col muro gravity e vsp a 0. Adesso ogni tanto mentre cammino mi si blocca dopo aver fatto un salto oppure quando atterro. Può esserci un problema col programma?marcyblaze ha scritto:Ma il codice che ti ho inviato dove lo hai messo? Mi sono dimenticato di dirti che va nello Step Event, quello normale.Sharkiller ha scritto:Scusa il ritardo, ma ho visto ora la risposta.marcyblaze ha scritto:Il codice per la collisione con il muro è vspeed = 0; gravity = 0; ho capito bene? Se è così ti consiglio di farehsp sarebbe hspeed, vsp sarebbe vspeed e grounded è una variabile che uso per controllare se il giocatore sta a terra oppure no, per evitare il salto infinito.Codice: Seleziona tutto
//Horizontal Collision if place_meeting(x+hsp,y,obj_muropavimento) { while (!place_meeting(x+sign(hsp),y,obj_muropavimento)) x+=sign(hsp); hsp = 0; } x += hsp; //Vertical Collision if place_meeting(x,y+vsp,obj_muropavimento) { while (!place_meeting(x,y+sign(vsp),obj_muropavimento)) y+=sign(vsp); if (sign(vsp) == 1) { grounded = 1; } vsp = 0; } else { grounded = 0; } y += vsp;
Comunque grazie mille, ma non funziona. Il mio personaggio quando collide con la parete rimane bloccato se continuo ad andare in quella direzione, e se rilascio si ferma a mezz'aria. Io vorrei che quando collide, a priori scivoli verso il pavimento. Ci ero riuscito (se non ricordo male) coninvece quando collideva col pavimento usavoCodice: Seleziona tutto
if place_meeting (x,y,obj_wall2) { vspeed=4; }
Ma appena ho salvato e riaperto il gioco non ha più funzionato e non avevo modificato niente..Codice: Seleziona tutto
vspeed=0; gravity=0;
Salto infinito!
-
- Newbie
- Messaggi: 8
- Iscritto il: 06/09/2017, 12:37
- Uso: GameMaker 8.1
- Contatta:
Re: Salto infinito!
-
- Newbie
- Messaggi: 8
- Iscritto il: 06/09/2017, 12:37
- Uso: GameMaker 8.1
- Contatta:
Re: Salto infinito!
Ok ora funziona ma non funziona il salto(prima quando collidevo andava anche mentre tenevo premuto la freccia direzionale, adesso mi devo fermare, saltare dritto e poi muovermi) e dopo i salti spesso si blocca nel pavimento e non si muove piuSharkiller ha scritto:Si l'ho messo nello step event del personaggio. E nella collisione col muro gravity e vsp a 0marcyblaze ha scritto:Ma il codice che ti ho inviato dove lo hai messo? Mi sono dimenticato di dirti che va nello Step Event, quello normale.Sharkiller ha scritto:Scusa il ritardo, ma ho visto ora la risposta.marcyblaze ha scritto:Il codice per la collisione con il muro è vspeed = 0; gravity = 0; ho capito bene? Se è così ti consiglio di farehsp sarebbe hspeed, vsp sarebbe vspeed e grounded è una variabile che uso per controllare se il giocatore sta a terra oppure no, per evitare il salto infinito.Codice: Seleziona tutto
//Horizontal Collision if place_meeting(x+hsp,y,obj_muropavimento) { while (!place_meeting(x+sign(hsp),y,obj_muropavimento)) x+=sign(hsp); hsp = 0; } x += hsp; //Vertical Collision if place_meeting(x,y+vsp,obj_muropavimento) { while (!place_meeting(x,y+sign(vsp),obj_muropavimento)) y+=sign(vsp); if (sign(vsp) == 1) { grounded = 1; } vsp = 0; } else { grounded = 0; } y += vsp;
Comunque grazie mille, ma non funziona. Il mio personaggio quando collide con la parete rimane bloccato se continuo ad andare in quella direzione, e se rilascio si ferma a mezz'aria. Io vorrei che quando collide, a priori scivoli verso il pavimento. Ci ero riuscito (se non ricordo male) coninvece quando collideva col pavimento usavoCodice: Seleziona tutto
if place_meeting (x,y,obj_wall2) { vspeed=4; }
Ma appena ho salvato e riaperto il gioco non ha più funzionato e non avevo modificato niente..Codice: Seleziona tutto
vspeed=0; gravity=0;
- marcyblaze
- Membro
- Messaggi: 81
- Iscritto il: 02/10/2014, 19:41
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Pro
- Località: sotto i ponti
- Contatta:
Re: Salto infinito!
Allora non so cosa dirti. Hai creato la variabile grounded e settata su 1? Serve per il codice che ti avevo dato, se questo non risolve il tuo problema non so cosa fare.Sharkiller ha scritto:Ok ora funziona ma non funziona il salto(prima quando collidevo andava anche mentre tenevo premuto la freccia direzionale, adesso mi devo fermare, saltare dritto e poi muovermi) e dopo i salti spesso si blocca nel pavimento e non si muove piuSharkiller ha scritto:Si l'ho messo nello step event del personaggio. E nella collisione col muro gravity e vsp a 0marcyblaze ha scritto:Ma il codice che ti ho inviato dove lo hai messo? Mi sono dimenticato di dirti che va nello Step Event, quello normale.Sharkiller ha scritto:Scusa il ritardo, ma ho visto ora la risposta.marcyblaze ha scritto:Il codice per la collisione con il muro è vspeed = 0; gravity = 0; ho capito bene? Se è così ti consiglio di farehsp sarebbe hspeed, vsp sarebbe vspeed e grounded è una variabile che uso per controllare se il giocatore sta a terra oppure no, per evitare il salto infinito.Codice: Seleziona tutto
//Horizontal Collision if place_meeting(x+hsp,y,obj_muropavimento) { while (!place_meeting(x+sign(hsp),y,obj_muropavimento)) x+=sign(hsp); hsp = 0; } x += hsp; //Vertical Collision if place_meeting(x,y+vsp,obj_muropavimento) { while (!place_meeting(x,y+sign(vsp),obj_muropavimento)) y+=sign(vsp); if (sign(vsp) == 1) { grounded = 1; } vsp = 0; } else { grounded = 0; } y += vsp;
Comunque grazie mille, ma non funziona. Il mio personaggio quando collide con la parete rimane bloccato se continuo ad andare in quella direzione, e se rilascio si ferma a mezz'aria. Io vorrei che quando collide, a priori scivoli verso il pavimento. Ci ero riuscito (se non ricordo male) coninvece quando collideva col pavimento usavoCodice: Seleziona tutto
if place_meeting (x,y,obj_wall2) { vspeed=4; }
Ma appena ho salvato e riaperto il gioco non ha più funzionato e non avevo modificato niente..Codice: Seleziona tutto
vspeed=0; gravity=0;
-
- Newbie
- Messaggi: 8
- Iscritto il: 06/09/2017, 12:37
- Uso: GameMaker 8.1
- Contatta:
Re: Salto infinito!
Va bene grazie mille lo stessomarcyblaze ha scritto:Allora non so cosa dirti. Hai creato la variabile grounded e settata su 1? Serve per il codice che ti avevo dato, se questo non risolve il tuo problema non so cosa fare.Sharkiller ha scritto:Ok ora funziona ma non funziona il salto(prima quando collidevo andava anche mentre tenevo premuto la freccia direzionale, adesso mi devo fermare, saltare dritto e poi muovermi) e dopo i salti spesso si blocca nel pavimento e non si muove piuSharkiller ha scritto:Si l'ho messo nello step event del personaggio. E nella collisione col muro gravity e vsp a 0marcyblaze ha scritto:Ma il codice che ti ho inviato dove lo hai messo? Mi sono dimenticato di dirti che va nello Step Event, quello normale.Sharkiller ha scritto:
Scusa il ritardo, ma ho visto ora la risposta.
Comunque grazie mille, ma non funziona. Il mio personaggio quando collide con la parete rimane bloccato se continuo ad andare in quella direzione, e se rilascio si ferma a mezz'aria. Io vorrei che quando collide, a priori scivoli verso il pavimento. Ci ero riuscito (se non ricordo male) coninvece quando collideva col pavimento usavoCodice: Seleziona tutto
if place_meeting (x,y,obj_wall2) { vspeed=4; }
Ma appena ho salvato e riaperto il gioco non ha più funzionato e non avevo modificato niente..Codice: Seleziona tutto
vspeed=0; gravity=0;
- marcyblaze
- Membro
- Messaggi: 81
- Iscritto il: 02/10/2014, 19:41
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Pro
- Località: sotto i ponti
- Contatta:
Re: Salto infinito!
Altrimenti l'unico modo è vedere io stesso il progetto, perché sicuramente c'è qualcosa che mi sfugge.
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Salto infinito!
Lo sprite del tuo giocatore cambia quando salti? Potrebbe dipendere da quello,se il collisore dello sprite in aria è anche di un pixel più corto,quando toccherà terra potrebbe compenetrarsi nel terreno di quel pixel e quindi rimanere bloccato.
Ora non so,non ho visto bene il codice che hai messo per il movimento,però se non dipende da quello potrebbe essere qualcosa con i collisori del giocatore.
Ora non so,non ho visto bene il codice che hai messo per il movimento,però se non dipende da quello potrebbe essere qualcosa con i collisori del giocatore.
- marcyblaze
- Membro
- Messaggi: 81
- Iscritto il: 02/10/2014, 19:41
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Pro
- Località: sotto i ponti
- Contatta:
Re: Salto infinito!
Giusto, probabilmente è quello.Simsure ha scritto:Lo sprite del tuo giocatore cambia quando salti? Potrebbe dipendere da quello,se il collisore dello sprite in aria è anche di un pixel più corto,quando toccherà terra potrebbe compenetrarsi nel terreno di quel pixel e quindi rimanere bloccato.
Ora non so,non ho visto bene il codice che hai messo per il movimento,però se non dipende da quello potrebbe essere qualcosa con i collisori del giocatore.
Chi c’è in linea
Visitano il forum: Nessuno e 32 ospiti