📄 main.cpp
字号:
//UVi Soft (2008)
//Long Fei (lf426), E-mail: zbln426@163.com
#include "SurfaceClass.h"
#include "string_data.h"
int game(int argc, char* argv[]);
int main(int argc ,char* argv[])
{
int mainRtn = 0;
try {
mainRtn = game(argc, argv);
}
catch ( const ErrorInfo& info ) {
info.show();
return -1;
}
return mainRtn;
}
int game(int argc ,char* argv[])
{
//Create a SDL screen.
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
const std::string WINDOW_NAME = "Key Presses";
ScreenSurface screen(SCREEN_WIDTH, SCREEN_HEIGHT, WINDOW_NAME);
//Fill background.(default is black)
screen.fillColor();
screen.flip();
//Load a textSurface
StringData myData;
const std::string uInfo = myData[0];
const std::string dInfo = myData[1];
const std::string lInfo = myData[2];
const std::string rInfo = myData[3];
const std::string oInfo = myData[4];
TextSurface upMessage("upMsg", uInfo, screen);
TextSurface downMessage("downMsg", dInfo, screen, 0xFF, 0, 0);
TextSurface leftMessage("leftMsg", lInfo, screen, 0, 0xFF, 0);
TextSurface rightMessage("rightMsg", rInfo, screen, 0, 0, 0xFF);
TextSurface otherMessage("otherMsg", oInfo, screen, 100, 100, 100, 35);
//Main loop.Press ESC or click X to quit.
bool gameOver = false;
SDL_Event gameEvent;
int x = 200;
int y = 200;
while( gameOver == false ){
while ( SDL_PollEvent(&gameEvent) != 0 ){
if ( gameEvent.type == SDL_KEYDOWN ){
screen.fillColor(70, 70, 70);
switch ( gameEvent.key.keysym.sym ){
case SDLK_UP:
upMessage.blit(x, y--);
break;
case SDLK_DOWN:
downMessage.blit(x, y++);
break;
case SDLK_LEFT:
leftMessage.blit(x--, y);
break;
case SDLK_RIGHT:
rightMessage.blit(x++, y);
break;
default:
screen.fillColor();
otherMessage.blit(x, y);
}
screen.flip();
}
if ( gameEvent.type == SDL_QUIT ){
gameOver = true;
}
if ( gameEvent.type == SDL_KEYUP ){
if ( gameEvent.key.keysym.sym == SDLK_ESCAPE ){
gameOver = true;
}
}
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -