История изменений
Исправление mazdai, (текущая версия) :
https://github.com/Beginerok/Tropic-Island/blob/005cb2be8dac87807c7778b8d8d98...
Это вообще компилируется?
Почитай про переносимый код, а еще вот это: http://lazyfoo.net/tutorials/SDL/index.php
Тебе не нужен WinAPI, у тебя есть SDL для устройств ввода и вывода, вот им и пользуйся.
Советую сделать как в примере, тебе не нужны #ifdef через каждую строку, будет одинаково работать везде, за исключением разных раскладок клавиатуры (и сами кнопки вне зависимости от их кодов тоже можно маппить, ищи):
//Main loop flag
bool quit = false;
//Event handler
SDL_Event e;
//Set default current surface
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_DEFAULT ];
//While application is running
while( !quit )
{
//Handle events on queue
while( SDL_PollEvent( &e ) != 0 )
{
//User requests quit
if( e.type == SDL_QUIT )
{
quit = true;
}
//User presses a key
else if( e.type == SDL_KEYDOWN )
{
//Select surfaces based on key press
switch( e.key.keysym.sym )
{
case SDLK_UP:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_UP ];
break;
case SDLK_DOWN:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_DOWN ];
break;
case SDLK_LEFT:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_LEFT ];
break;
case SDLK_RIGHT:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_RIGHT ];
break;
default:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_DEFAULT ];
break;
}
}
}
Если ты только начинаешь, возможно, такое допустимо и ты чему-то научишься, но я даже в школе настолько хреново не писал...
Исходная версия mazdai, :
https://github.com/Beginerok/Tropic-Island/blob/005cb2be8dac87807c7778b8d8d98...
Это вообще компилируется?
Почитай про переносимый код, а еще вот это: http://lazyfoo.net/tutorials/SDL/index.php
Советую сделать как в примере, тебе не нужны #ifdef через каждую строку, будет одинаково работать везде, за исключением разных раскладок клавиатуры (и сами кнопки вне зависимости от их кодов тоже можно маппить, ищи):
//Main loop flag
bool quit = false;
//Event handler
SDL_Event e;
//Set default current surface
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_DEFAULT ];
//While application is running
while( !quit )
{
//Handle events on queue
while( SDL_PollEvent( &e ) != 0 )
{
//User requests quit
if( e.type == SDL_QUIT )
{
quit = true;
}
//User presses a key
else if( e.type == SDL_KEYDOWN )
{
//Select surfaces based on key press
switch( e.key.keysym.sym )
{
case SDLK_UP:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_UP ];
break;
case SDLK_DOWN:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_DOWN ];
break;
case SDLK_LEFT:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_LEFT ];
break;
case SDLK_RIGHT:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_RIGHT ];
break;
default:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_DEFAULT ];
break;
}
}
}
Если ты только начинаешь, возможно, такое допустимо и ты чему-то научишься, но я даже в школе настолько хреново не писал...