Variable kann nicht erhöht werden, auf tastendruck ???
-
Hallo,
Ich bin dabei mit opengl ein farrad zu zeichnen. eigentlich bin ich mit der modelation fertig. jetzt habe ich angefangen meine geschwindigkeit durch rotation der räder einzufügen.
auf knopfdruck z.B. if (keys['4']) than ... wird die rotation erhöhen.
nur mein problem ist, das wenn ich den knopf loslasse wieder die alte geschwindigkeit wieder standart ist. die variable kann nicht erhöht werden? deklariert habe ich sie dimensionslos, also kein wert zugewiesen. aber auch wenn ic ihr 0.0 gebe, bleibt es gleich.
woran kann das liegen???
vielen Dank

-
C++ kennt weder opengl noch tastendrücke.
Welches OS ? Welcher Compiler ?
Und etwas Quellcode, denn manche von uns haben die Kristallkugel wegen zu schnellem Hellsehen abgenommen bekommen
-
Hallo, ich nutzte Windows XP,
dazu den Microsoft Visual Studio 2005.
GLfloat rtri; // rotation
bool keys[256];if (keys['S'] )
{
rtri+= 0.4;
}glRotatef(rtri,0.0f,0.0f,1.0f); //Rotate auf der Y Achse.
// Objekte....
Wenn ich die Taste drücke, verändert sich auch die Geschwindigkeit der objekte. nur wenn ich die Taste loslasse, habe ich die anfangsgescwindigkeit (hier null)...
-
Hast du die Variable etwa lokal in deiner Abfrageschleife? Dann fällt sie möglicherweise aus dem Scope, sobald du die Taste loslässt und wird im nächsten Schleifendurchlauf wieder neu angelegt.
-
es klingt logisch, ich finde nur den fehler nicht

mein code ist leider zu groß um ihn zu posten...
naja, ich mach mcih an die suche, danke
-
falls rtri lokal ist, probiere es mit static:
static GLfloat rtri; // rotation