Problem mit if und else if
-
Ich hab noch ein Problem auf meinem Weg, in OpenGL ein Spiel zu programmieren.
Da es aber wieder nur um c++ geht, werde ich es wieder hier posten.Wie schon der Titel sagt, habe ich ein Problem mit if und else if.
mein Code:
while (fertig == false) { if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { if (msg.message==WM_QUIT) { fertig = true; } else { TranslateMessage(&msg); DispatchMessage(&msg); } } else { if (active == true) { if (taste[VK_ESCAPE]) { fertig = true; } else { DrawGLScene(); SwapBuffers(hDC); } } if (taste[VK_PRIOR]) { taste[VK_PRIOR] = false; if (Zoomend = false) { Zoomend = true; Zoom = PosZ; } Zoom -= 0.05f; } else if (taste[VK_NEXT]) { taste[VK_NEXT] = false; if (Zoomend = false) { Zoomend = true; Zoom = PosZ; } Zoom += 0.05f; } else if (taste[VK_LEFT]) { taste[VK_LEFT] = false; RotY -= 1.0f; } else if (taste[VK_RIGHT]) { taste[VK_RIGHT] = false; RotY += 1.0f; } else if (taste[VK_DOWN]) { taste[VK_DOWN] = false; PosZ -= 0.2f; PosY = (sin(PosZ))*0.05; } else if (taste[VK_UP]) { taste[VK_UP] = false; PosZ += 0.2f; PosY = (sin(PosZ))*0.05; } else if (taste['Z']) { Zoomend = false; } } } }in dem Feld taste[...] steht, ob in diesem Schleifendurchlauf eine Taste betätigt wurde.
Nun ist es aber aus mir unveratändlichen gründen so, dass Zoomend nie true ist.
Warum ist das so ?
Alle anderen Tasten ausser VK_PRIOR (Page Up) und VK_NEXT (Page Down) funktionieren, die ensprechenden Blocks werden ausgeführt.
Ich habe wirklich alles ausprobiert, Zoomend bleibt false
Ich wäre wirklich froh, wenn ihr mir helfen könntet.
Tim[code]
-
if(Zoomend = false)Und sowas hast du nicht nur einmal hingeschrieben. Der Vergleich geht über
operator ==. Was du machst ist eine Zuweisung.
Aber sag mal, wenn du noch bei solchen Dingen scheiterst, ist es da nicht ein wenig übereilt, bereits mit OpenGL zu programmieren?Grüssli
-
danke!
Ne, ich denke nich...
bin nur ein bisschen überarbeitet / müdemfg