directinput 예제

ReadMouse는 키보드 상태에서 ReadKeyboard를 읽는 방법과 유사한 마우스 의 상태를 읽습니다. 그러나 마우스의 상태는 마지막 프레임에서 마우스의 위치가 변경됩니다. 따라서 예를 들어 업데이트는 마우스가 오른쪽으로 5 단위를 이동한 것처럼 보이지만 화면에서 마우스의 실제 위치를 제공하지는 않습니다. 이 델타 정보는 다른 목적을 위해 매우 유용하고 우리는 화면에 마우스의 위치를 자신을 유지할 수 있습니다. 1. 프로그램을 다시 컴파일하고 실행합니다. 화면 주위로 마우스를 이동하고 텍스트 위치 업데이트를 봅니다. 이제 Input 개체를 해제하려면 개체를 삭제하기 전에 Shutdown 호출이 필요합니다. 우리가 초기화 할 첫 번째 입력 장치는 키보드가 될 것입니다. 3. 키보드 버퍼를 읽고 화면에 입력한 내용을 표시하는 기능을 구현합니다. 프레임 기능 중에 Input 개체의 자체 프레임 함수를 호출하여 키보드와 마우스의 상태를 업데이트합니다. 이 호출은 실패할 수 있으므로 반환 값을 확인해야 합니다.

MessageHandler 함수에서 Windows 키보드 읽기를 제거했습니다. 직접 입력은 지금 우리를 위해이 모든 것을 처리합니다. . GetMouseLocation 내가 쓴 도우미 기능 마우스의 위치를 반환 합니다. GraphicsClass는 이 정보를 얻고 TextClass를 사용하여 마우스 X 및 Y 위치를 화면에 렌더링할 수 있습니다. Windows 입력 시스템을 제거하고 DirectX 입력 시스템을 추가하여 변경 된 기능을 다룰 것입니다. 이 함수 호출은 직접 입력에 대한 인터페이스를 초기화합니다. 직접 입력 개체가 있으면 다른 입력 장치를 초기화할 수 있습니다. MSDN에 따르면 “DirectInput에서 왼쪽 및 오른쪽 트리거의 조합은 의도적으로 설계되었습니다. 게임은 항상 Device와 사용자 상호 작용이 없을 때 DirectInput 장치 축이 가운데에 있다고 가정했습니다.

그러나 Xbox 360 컨트롤러는 트리거가 유지되지 않을 때 중심이 아닌 최소 값을 등록하도록 설계되었습니다.” MSDN은 트리거를 결합하고 하나의 트리거를 양수 방향으로 설정하고 다른 트리거를 음수 방향으로 설정하는 “솔루션”을 제안했기 때문에 사용자 상호 작용이 중심에 있는 “컨트롤”의 DirectInput을 나타내지 않습니다. [7] 이제 프레임 함수가 마우스 X와 Y 위치를 취한 다음 TextClass 개체가 화면에 위치를 쓰는 텍스트 문자열을 업데이트하도록 합니다.