本文整理汇总了C++中Hud::CreateSurfaces方法的典型用法代码示例。如果您正苦于以下问题:C++ Hud::CreateSurfaces方法的具体用法?C++ Hud::CreateSurfaces怎么用?C++ Hud::CreateSurfaces使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hud
的用法示例。
在下文中一共展示了Hud::CreateSurfaces方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char ** argv)
{
SDL_Surface * psdlsScreen = NULL;
SDL_Surface * psdlsWMIcon = NULL;
int nVideoMode = MODE_WINDOWED;
bool bDone = false;
char szFilename[512] = {"default.lvl\0"};
Level level("fuckyou");
Cursor cursor(0, 0);
Hud hud;
// deal with command line shit
if(argc > 2)
{
ShowUsage();
exit(1);
}
if(argc == 2)
{
if(!strcmp("--help", argv[1]) || !strcmp("-h", argv[1]) || !strcmp("-help", argv[1]))
{
ShowUsage();
exit(0);
}
sprintf(szFilename, "%s", argv[1]);
if(!level.ReadFromFile(szFilename))
fprintf(stderr, "Couldn't read level from: %s, assuming file doesn't exist yet\n", szFilename);
else
fprintf(stderr, "Level read successfully from: %s\n", szFilename);
}
else
fprintf(stderr, "No file name specified, using: %s\n", szFilename);
InitSDL();
// SetVideoMode(psdlsScreen, nVideoMode);
fprintf(stderr, "Setting window icon... ");
psdlsWMIcon = SDL_LoadBMP(LoadResource("bomn32.bmp", RESOURCE_GRAPHIC));
if(psdlsWMIcon)
{
Uint32 colorkey;
colorkey = SDL_MapRGB(psdlsWMIcon->format, 0, 0, 0);
SDL_SetColorKey(psdlsWMIcon, SDL_SRCCOLORKEY, colorkey);
SDL_WM_SetIcon(psdlsWMIcon, NULL);
fprintf(stderr, "Success!\n");
}
else
fprintf(stderr, "AW JUNK! Something fishy happened...\n");
// can't fucking use SetVideoMode here, for SOME REASON
fprintf(stderr, "Setting video mode to 800x600 %s mode... ", (nVideoMode == MODE_WINDOWED ? "windowed" : "fullscreen"));
SDL_WM_SetCaption("Bomns for Linux Level Editor", "Bomns for Linux Level Editor");
if(nVideoMode == MODE_WINDOWED)
psdlsScreen = SDL_SetVideoMode(800, 600, 0, SDL_HWSURFACE | SDL_DOUBLEBUF);
else if(nVideoMode == MODE_FULLSCREEN)
psdlsScreen = SDL_SetVideoMode(800, 600, 0, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN);
else
QuitWithError("Que?\n");
if(!psdlsScreen)
QuitWithError("Error setting GODDAM VIDEO MODE... for some fucking reason!\n");
else
fprintf(stderr, "Success!\n");
SDL_ShowCursor(false);
// do this here so the surfaces can read the display format
cursor.CreateSurfaces();
hud.CreateSurfaces();
level.CreateSurfaces();
// main input loop
while(!bDone)
{
SDL_Event sdleEvent;
Uint8 * anKeyState = NULL;
Uint8 nMouseState = 0;
while(SDL_PollEvent(&sdleEvent))
{
if(sdleEvent.type == SDL_QUIT)
bDone = true;
// TODO: use relative mouse motion so it doesn't jump around
if(sdleEvent.type == SDL_MOUSEMOTION)
cursor.SetPosition(sdleEvent.motion.x / 10, sdleEvent.motion.y / 10);
// process mouse input
nMouseState = SDL_GetMouseState(NULL, NULL);
if(nMouseState & SDL_BUTTON_LMASK)
cursor.StampCurrentObject(&level);
if(nMouseState & SDL_BUTTON_RMASK)
cursor.DeleteUnderCursor(&level);
if(sdleEvent.type == SDL_MOUSEBUTTONDOWN)
{
switch(sdleEvent.button.button)
{
case SDL_BUTTON_WHEELUP:
cursor.ForwardObject();
//.........这里部分代码省略.........