我正在尝试制作一个能够使用SDL检测按键的程序。
我当前的代码是其他人的修改版本(试图在制作自己的版本之前使其工作)。
#include "SDL/SDL.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
//Start SDL
if(0 != SDL_Init(SDL_INIT_EVERYTHING)) {
std::cout << "Well I'm screwed\n";
return EXIT_FAILURE;
}
SDL_Surface* display;
display = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
SDL_Event event;
bool running = true;
std::cout << "Cake"; //Testing output (doesn't work)
while(running) {
std::cout << "Pie"; //Again, testing output and again doesn't work
if(SDL_PollEvent(&event)) { //I have tried this is a while statement
switch(event.type) {
case SDL_KEYDOWN:
std::cout << "Down\n"; // Have tried "<< std::endl" instead of "\n"
break;
case SDL_KEYUP:
std::cout << "Up\n";
break;
case SDL_QUIT:
running = false;
break;
default:
break;
}
}
}
//Quit SDL
SDL_Quit();
return 0;
}
该代码应该可以检测到任何按键按下/按下并输出,但不会输出任何内容。
我的最终目标是使它检测konami代码,然后执行某些操作。
我不断地更新上面的代码,使其与我正在使用的代码相同(除了添加了有关人们建议的注释)。
另外,如果有帮助的话:这g++ -o myprogram.exe mysource.cpp -lmingw32 -lSDLmain -lSDL
是我正在编译的命令。(如果您没有从命令中弄清楚,我正在运行Windows(7)。)编译时不会发生错误。
我现在正在获得任何输出,这使我相信我的概率与密钥检查无关。但是有可能是不正确的。
SDL默认情况下将输出重定向到stdout.txt
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句