Ciao lento, buongiorno e buona domenica.
Anche a te.
Il motivo è semplice:
Devi leggere la parte di programma che riguarda le collisioni e capirla.
A quel punto puoi migliorare il tuo gioco.
Comunque:
1) verifico solo l'interferenza dello spessore (7 pixel) di un ostacolo con una linea di aladin quella che corrisponde a aladiny.
Ovvio che qualche ostacolo che corre a 22 pixel al colpo non lo legge.
Non prendo in considerazione tutto lo spessore dell'immagine aladin (32 pixel) perchè il salto è immediato.
Ovvero sale e scende a terra nell'arco di due loop pur spostando ad ogni ciclo di 22 pixel l'ostacolo diventa difficile evitarlo.
2) oppure sarebbe necessaria una breve permanenza in alto di aladin quando salta....ma questo deve far parte di tue scelte e soluzioni.
Per fare quello che tu chiedi bisogna che torni a questo post
http://www.nokioteca.net/home/forum/index.php/topic/150216-mshell-far-rotolare-il-barile/page__view__findpost__p__1719803
e capirlo.
Per semplicità qui basterebbe il controllo dell'asse (x) così
// --- collisione? ----
if aladiny=65 then // non sta saltando allora verifico eventuale collisione
for co=1 to nosts do // controllo tutti gli ostacoli presenti
if (math.abs((ostx[co]+3.5)-(aladinx+16))< 19.5) then
energia--; //aladin e ostacolo si sovrappongono tolgo energia
end;
end;
Questo è il gioco con detta collisione noterai le difficoltà di saltare gli ostacoli.
Aladin_8.txt 4,46K
5 downloadsa presto.
Messaggio modificato da lento, 06 novembre 2011 - 14:09