Hallo liebe Community,
ich programmiere zur Zeit ein kleines Game,genannt Bomberman 3d!
Die allerersten Probleme traten schon bei dem Gehen auf:
Hier ist der wichtigste Teil des Codes:
////// /// Das ist dafür da um zu schauen,ob man auf dem Boden steht oder in der freien Luft ist
vec_set(temp,my.x);
temp.z -= 4000;
trace_mode = ignore_me+ignore_sprites+ignore_models+use_box;
result = trace(my.x,temp);
if (result > 5) { // If you are on a solid block or in the air
force.x = 0;
force.y = 0;
my.skill11 = 0;
force.z = -5;
friction = 0.1;
}
else
{
force.x = 10 * key_force.y;
force.y = 0;
force.z = -0.5 * result;
friction = 0.7;
}
////////////////////////////
dist.y = 15*(key_a - key_d) *time; // Links und rechts gehen // Going right or left
dist.x = 15*(key_w - key_s) *time;; // Oben und unten gehen // Going up or down
dist.z = time * my.skill13; // Falls man runterfällt//If you fall down
move_mode = ignore_passable + glide;
ent_move(dist,nullvector);// bewege Player // move player
So das Problem ist,wenn ich nach links gehen möchte(die A Taste drücke) dann soll er sofort ohne ein wimpernzucken nach links schauen! Genauso ähnlich bei oben rechts und unten! Aber wenn ich diese Variante nehme:
if(key_w == on)
{
my.pan = 0;
}
if(key_a == on)
{
usw....
}
Geht nicht da er vollkommen unsinnig läuft! Achso die Kameraperpektive ist isometrisch!
Frage: Wie kann ich es so machen,das er in die Richtung schaut und auch dahin geht,wenn ich die jeweiligen Tasten drücke?