concordo, ricordo la prima volta che provai a fare un platform, con l'icona "move" anziche con le 2 componenti di spostamento gestite separatamente...rimasi piuttosto deluso dal risultatoIl trucco consiste nel trattare il movimento lungo l'asse x separatamente rispetto al movimento lungo l'asse y
tempo fa feci anche io l' upload del tutorial per platform2D di Mark Overmars!Salve! Ho fatto l'upload del vecchio tutorial di Game Maker per giochi platform
Codice: Seleziona tutto
if (place_free(x+vx,y))
x+=vx;
else if (place_free(x+vx,y-16)) {
x+=vx;
y-=16;
move_contact_solid(270,-1);
}
Codice: Seleziona tutto
se la posizione (x+vx, y) è libera:
incrementa x di vx
altrimenti, se la posizione (x+vx, y-16) è libera:
incrementa x di vx
decrementa y di 16
move_contact_solid(270,-1)
Certo: devi specificarla prima, in base alla pressione dei tasti sinistra/destra (vx è la velocità lungo l'asse x, può essere sia positiva che negativa). Il vantaggio è che usando la variabile puoi evitare di ripetere due volte il codice per il movimento verso sinistra e verso destra.Emanuele ha scritto:Ma non dovrei specificare prima cos' è vx?
Perché mi da un errore.