엘로 전체,
저는 C++에 새로 입문했습니다. 나는 이것을 인정하기 위해 오랫동안 노력하기 위해 노력해 왔습니다. 그래서 나는 다음의 심판에서 벗어나 콘트롤러에서 콘솔 앱으로 작업하도록했다. XInput 360 컨트롤러가 cocos2d-x와 작동하지 않습니다
- 여기
- MSDN
xbox360 controller input with c using x input
가 거기에서 내가적인 Cocos2D-X와 함께 작동하도록 그걸 얻기 위해 노력하고있어 결과 01을 사용하여(그는에 추가) 및 360 게임 패드에 적용. 내가 작동 키패드 이벤트를받은 적이 있지만
컨트롤러 로직을 넣어 어디 알아낼 수 없습니다
LRESULT CCEGLView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
BOOL bProcessed = FALSE;
CCLog("Message sent = %d",message);
//note* only showing relavant sections of code for brevity
switch (message)
{
case WM_KEYDOWN:
if (wParam == VK_F1 || wParam == VK_F2)
{
CCDirector* pDirector = CCDirector::sharedDirector();
if (GetKeyState(VK_LSHIFT) getKeypadDispatcher()->dispatchKeypadMSG(wParam == VK_F1 ? kTypeBackClicked : kTypeMenuClicked);
}
}
else if (wParam == VK_ESCAPE)
{
CCDirector::sharedDirector()->getKeypadDispatcher()->dispatchKeypadMSG(kTypeBackClicked);
}
else
{
CCDirector::sharedDirector()->getKeypadDispatcher()->dispatchKeypadDown(wParam);
}
if (m_lpfnAccelerometerKeyHook!=NULL)
{
(*m_lpfnAccelerometerKeyHook)(message,wParam,lParam);
}
break;
default:
if (m_wndproc)
{
m_wndproc(message, wParam, lParam, &bProcessed);
if (bProcessed) break;
}
return DefWindowProc(m_hWnd, message, wParam, lParam);
}
if (m_wndproc && !bProcessed)
{
m_wndproc(message, wParam, lParam, &bProcessed);
}
return 0;
}
(그렇게 그렇게 나쁘지 표준 창 입력했다). 나는 WindowProc 방법에 을 시도하고 실현 한 것을 (나는 아마에 대한 올바른 용어가없는 , 죄송) WindowProc 이벤트에 콜백으로 만 화재 등을 didnt 작업 내가 한 가장 가까운 확인 자주 발사 뭔가를 얻었다는 점
static LRESULT CALLBACK _WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
CCDirector* pDirector = CCDirector::sharedDirector();
XboxController* player1 = new XboxController(GamePadIndex_One);
if(player1->IsConnected())
{
player1->Update();
for(int i =0;iState._buttons[i]==true)
{
//CCApplication::sharedApplication()->getKe
pDirector->getKeypadDispatcher()->dispatchKeypadDown(i);
}
}
}
delete player1;
if (s_pMainWindow && s_pMainWindow->getHWnd() == hWnd)
{
return s_pMainWindow->WindowProc(uMsg, wParam, lParam);
}
else
{
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
}
전체 코드는 here 이고 소스가 github에 Here에있다이다. XboxController 인스턴스를 KeypadDown
에 올바르게 응답 할 수 있도록 적절한 위치를 알고 있습니까?