Konzepte für 3D-Spiele (Umsetzung der Steuerung)

Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
[unmarkierte Version][unmarkierte Version]
(Bewegung)
Zeile 202: Zeile 202:
 
Beginnen wir mit der leichtesten Richtung: vorwärts. Da wir ja unsere Richtung, in die wir gucken, einfach per <tt>blickRichtung::toVektor</tt> berechnen können, folgt: <sourcecode lang=cpp>if(keys['W'])
 
Beginnen wir mit der leichtesten Richtung: vorwärts. Da wir ja unsere Richtung, in die wir gucken, einfach per <tt>blickRichtung::toVektor</tt> berechnen können, folgt: <sourcecode lang=cpp>if(keys['W'])
 
{
 
{
blickRichtung angles = di;
+
blickRichtung angles = dir;
pos+=angles.toVektor()*frameTime;
+
pos += angles.toVektor() * frameTime;
 
}</sourcecode>
 
}</sourcecode>
 
Nun Rückwärts:
 
Nun Rückwärts:
Zeile 211: Zeile 211:
 
blickRichtung angles=dir;
 
blickRichtung angles=dir;
 
angles.yrot += 180.f; // Wir wollen ja die entgegengesetzte Richtung
 
angles.yrot += 180.f; // Wir wollen ja die entgegengesetzte Richtung
pos += angles.toVektor() * frameTime;
+
pos += angles.toVektor() * frameTime;
 
}</sourcecode>Nun gehen wir bei der Rechts-/ Linksbewegung nach dem selben Verfahren vor: <sourcecode lang=cpp>if(keys['D'])
 
}</sourcecode>Nun gehen wir bei der Rechts-/ Linksbewegung nach dem selben Verfahren vor: <sourcecode lang=cpp>if(keys['D'])
 
{
 
{
 
blickRichtung angles = dir;
 
blickRichtung angles = dir;
 
angles.yrot +=90.f;
 
angles.yrot +=90.f;
pos += angles.toVektor() * frameTime;
+
pos += angles.toVektor() * frameTime;
 
}
 
}
 
if(keys['A'])
 
if(keys['A'])

Version vom 12. Juni 2012, 01:15 Uhr

Klicke hier, um diese Version anzusehen.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge