DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 24.01.2004, 14:39 Titel: aaaa ich kriegs einfach nicht gebacken - Kollision |
|
|
Code: |
//left
if (key == 1)
{
if (field[0][(Splayer.get_y()/50)][(Splayer.get_x()/50)] == 0 &&
field[0][(Splayer.get_y()/50)+1][(Splayer.get_x()/50)] == 0)
{
Splayer.move(-2, 0);
}
}
//right
if (key == 2)
{
if (field[0][(Splayer.get_y()/50)][(Splayer.get_x()/50)+1] == 0 &&
field[0][(Splayer.get_y()/50)+1][(Splayer.get_x()/50)+1] == 0)
{
Splayer.move(+2, 0);
}
}
//jump
if (key == 3)
{
if (Splayer.get_y() > 0 &&
field[0][(Splayer.get_y()/50)-1][(Splayer.get_x()/50)] == 0)
{
Splayer.move(0, -4);
}
}
//falling
if (field[0][(Splayer.get_y()/50)+2][(Splayer.get_x()/50)] == 0)
{
Splayer.move(0, +2);
}
|
wieso springt der immer in einem Stein halb rein ?
ich hab da sone theorie:
Da der Spieler ja 50 Breit ist und nehmen wir an
auf 150 (150/50 = 3) steht und dort ein Stein ist, fällt der Spieler nicht.
nehmen wir nun an er geht 1-2 Pixel dann steht er auf
148 (148/50 = 2) und dort ist kein Stein mehr, also fällt der Spieler,
42 Pixel des Spielers sind nun im ArrayFeld 3 (150/50=3) noch
im Stein drin und die restlichen 8 pixel sind im array feld 2 (148/50 = 2)
wie kann ich dieses Problem beheben ? _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|