티스토리 뷰
12버튼 이상의 조이스틱 입력시 JoyStick 제어
원문 출처 : http://spherez.blog.me/60196065333
2가지 조이스틱 입력처리 방법이 있음.
1. DirectX의 DirectInput
2. winmm.lib / MMSYSTEM.H 를 사용
1번의 방법은 SDK를 설치해야한다.
2번의 JOYINFOEX 구조체를 사용한다.
Step1. JoyStick 연결 초기화
1.JoyStick 연결
- joyGetNumDevs() 함수를 이용하여 연결된 드라이버 수를 얻어온다. JoyStick 연결 뿐만아니라 다른 장치까지 확인한다. 리턴이 0이면 오류 처리함
2.JoyStick ID 찾기
- JOYINFOEX m_JoyStickInfo;
- joyGetPosEx(JOYSTICKID1, &M_JoyStickInfo)
2번 방식만 그런지 확인은 안했으나 Joystick ID가 2종류가 정의 되어잇다
JOYSTICKID1, JOYSTICKID2
joyGetPosEX() 조이스틱 상태를 얻어오는 함수인데 JOYSTICKID1 or JOYSTICKID2와 정보를 얻어 변수를 함수에 인자로 호출하면 결과를 리턴하게 된다.
JOYERR_NOERROR
JOYERR_PARMS
JOYERR_NOCANDO
JOYERR_UNPLUGGED
위 4가지를 리턴하는데 JOYERR_NOERROR 외에는 모두 에러이다.
3.JoyStick 사용정보와 사이즈 설정
- JOYINFOEX 구조체에서 사용할 정보의 범위 설정
m_JoyStickInfo.dwSize = sizeof(JOYINFOEX);
m_JoyStickInfo.dwFlags = JOY_RETURNALL;
if(joyGetPosEx(JOYSTICKID1, &m_JoyStickInfo) == JOYERR_NOERROR)
m_JoyStickID = JOYSTICKID1;
else if(joyGetPosEx(JOYSTICKID2, &m_JoyStickInfo) == JOYERR_NOERROR)
m_JoyStickID = JOYSTICKID2;
else AfxMessageBox("JoyStick Device Error!");
**joyGetPosEx() 함수 전에 JOYINFO에 사용할 정보의 범위 설정을 해야한다. 그렇지 않으면 프로그램 실행시 조이스틱을 찾지 못한다고함.
- SKPhysicsbody
- draw 이미지
- ios
- quadcopter
- swift sprite kit
- 코드스쿼드
- 객체
- 스택
- 태그를 입력해 주세요.
- TDD
- 스위프트
- image render
- 영화
- swift camera 이미지 느림
- skscene
- ios sprite kit
- C++
- UIGraphicsImageRendererFormat
- QUAD
- string
- 만들기
- swift custom camera
- custom Camera
- des
- Swift
- slow image
- sprite kit
- ios custom camera capture
- 자료구조
- Mobile Robot Kinematics
- Total
- Today
- Yesterday