Как интегрировать поддержку Joystick или Xbox 360 в SDL

Я пытаюсь найти примеры или учебные пособия для кодирования Xbox 360 в моем проекте. До сих пор я использовал SDL_keysym только для перемещения своих спрайтов с помощью клавиш со стрелками и клавиш WASD. Хотите знать, как я интегрирую Xbox 360 (предпочтительно) или поддержку джойстика в.

Ниже приведены коды, которые у меня есть в настоящее время для движения моего спрайта Spaceship1 с использованием стрелок и клавиш WASD. Прости меня, так как коды дезорганизованы.

struct oSprite
{
int m_nTotalFrames;
int m_nCurrentFrame;
int m_nFrameWidth;
int m_nFrameHeight;

fVector2 m_vPosition;

SDL_Surface* m_pImage;

bool        m_bIsHuman;
oControls   m_oControls;
oControls   m_oAltControls;
};

bool Update()
{
fVector2 vKeyPresses;

Uint8* paunKeyStates = SDL_GetKeyState(NULL);
float fMoveSpeed = 0.5f;

if(paunKeyStates[g_Spaceship1.m_oControls.m_nUpButton] || paunKeyStates[g_Spaceship1.m_oAltControls.m_nUpButton])
{
vKeyPresses.y -= fMoveSpeed;
}

if(paunKeyStates[g_Spaceship1.m_oControls.m_nDownButton] || paunKeyStates[g_Spaceship1.m_oAltControls.m_nDownButton])
{
vKeyPresses.y += fMoveSpeed;
}

if(paunKeyStates[g_Spaceship1.m_oControls.m_nLeftButton] || paunKeyStates[g_Spaceship1.m_oAltControls.m_nLeftButton])
{
vKeyPresses.x -= fMoveSpeed;
}

if(paunKeyStates[g_Spaceship1.m_oControls.m_nRightButton] || paunKeyStates[g_Spaceship1.m_oAltControls.m_nRightButton])
{
vKeyPresses.x += fMoveSpeed;
}
}

-1

Решение

в начале SDL попробуйте это

SDL_Init( SDL_INIT_VIDEO | SDL_INIT_JOYSTICK)
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector