while(device->run())
{
driver->beginScene(true,true,0xFF6060FF);
result = joyGetPosEx(JOYSTICKID1, &joyinfo);
if(result == JOYERR_NOERROR)
{
swprintf(mess, 32, L"dwButtons:%d", joyinfo.dwButtons);
Font->draw(mess,rect<s32>(0,0,0,0),0xFFFFFFFF);
swprintf(mess, 32, L"dwXpos :0x%04X", joyinfo.dwXpos);
Font->draw(mess,rect<s32>(0,16,0,0),0xFFFFFFFF);
swprintf(mess, 32, L"dwYpos :0x%04X", joyinfo.dwYpos);
Font->draw(mess,rect<s32>(0,32,0,0),0xFFFFFFFF);
swprintf(mess, 32, L"dwZpos :0x%04X", joyinfo.dwZpos);
Font->draw(mess,rect<s32>(0,48,0,0),0xFFFFFFFF);
}
//ANALOGモードでの方向キー
pos = 0x00;//CENTER
if(joyinfo.dwPOV != JOY_POVCENTERED )
{
if((joyinfo.dwPOV > JOY_POVLEFT)
|| (joyinfo.dwPOV < JOY_POVRIGHT) )
{
pos |= 0x01;//UP
}
if((joyinfo.dwPOV > JOY_POVFORWARD)
&& (joyinfo.dwPOV < JOY_POVBACKWARD) )
{
pos |= 0x02;//RIGHT
}
if((joyinfo.dwPOV > JOY_POVRIGHT)
&& (joyinfo.dwPOV < JOY_POVLEFT) )
{
pos |= 0x04;//DOWN
}
if(joyinfo.dwPOV > JOY_POVBACKWARD)
{
pos |= 0x08;//LEFT
}
}
swprintf(mess, 32, L"dwPOV :0x%04X", pos);
Font->draw(mess,rect(0,80,0,0),0xFFFFFFFF);
swprintf(mess, 32, L"dwSize :0x%04X", joyinfo.dwSize);
Font->draw(mess,rect(0,96,0,0),0xFFFFFFFF);
swprintf(mess, 32, L"dwFlags :0x%04X", joyinfo.dwFlags);
Font->draw(mess,rect(0,112,0,0),0xFFFFFFFF);
swprintf(mess, 32, L"dwNum :0x%04X", joyinfo.dwButtonNumber);
Font->draw(mess,rect(0,128,0,0),0xFFFFFFFF);
//シーンの描画
smgr->drawAll();
driver->endScene();
}
|