switch case
-
ich habe ein problem mit einer switch abfrage. undzwar habe ich meinen code wie folgt :
switch (event.type) { case sf::Event::MouseMoved: MousePos = sf::Mouse::getPosition(); WindowPos = window.getPosition(); MousePos.x = MousePos.x - WindowPos.x - 8; MousePos.y = MousePos.y - WindowPos.y - 30; break; case sf::Event::KeyPressed: if (event.key.code == sf::Keyboard::Add) { for (int x = 0; x < widht; x++) { for (int y = 0; y < height; y++) { Map[x][y].SetSize(true, 0.1, 0.1); } } } else if (event.key.code == sf::Keyboard::Divide) { for (int x = 0; x < widht; x++) { for (int y = 0; y < height; y++) { Map[x][y].SetSize(false, 0.1, 0.1); } } } break; default : break; }wie man sieht benutze ich sfml. er registriert zwar, dass ich plus drücke aber nicht minus. warum ist das so?
schonmal danke!
-
Ich kenne smfl jetzt nicht, bin mir aber ziemlich sicher, dass "sf::Keyboard::Divide" nicht der Code für "Minus" ist.
-
1. da steht "sf::Keyboard::Divide" was nicht für die minus-taste steht.
2. dein default ist relativ unnötig.
-
sry ich meinte mincht minus sondern dass hier "/" halt geteilt durch
-
Und was steht stattdessen in event.key.code?
-
"sf::Keyboard::Divide" passt schon wenn du die '/'-taste möchtest. der fehler könnte auch in "Map::SetSize" stecken, je nach dem was da implementiert ist wenn der erste parameter false ist.
btw heisst es "width"...
-
2. dein default ist relativ unnötig.
Die Warnung, die sonst kommt, auch.
-
Finde jetzt die Fehlerbeschreibung mangelhaft... Wie jetzt er registriert nicht, dass du '/' drückst? Meinst du da passiert nicht, wass soll? Das heißt noch lange nicht, dass sfml dies nicht registriert hat...
-
Mal eine blöde Frage:
Welche Taste drückst du denn?
Die im Nummernblock zwischen Num-Lock und *
oder Shift-7 ?Die Tastencodes sehen mehr nach der US-Tastatur aus. Und das ist / links neben der rechten Shift-Taste. Aber das ist dann wohl die Slash-Taste.