Ticket #39275

Win版 ゲームコントローラー対応

Open Date: 2019-06-01 22:05 Last Update: 2019-06-03 23:47

Reporter:
Owner:
Status:
Closed
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

ゲームコントローラーを用いて、メイン画面で視点移動や演奏に関する操作を実施できるようにする。

参考チケット

  • #39085 iOS版 ゲームコントローラー対応
  • #39277 macOS版 ゲームコントローラー対応

Ticket History (3/8 Histories)

2019-06-01 22:05 Updated by: yknk
  • New Ticket "Win版 ゲームコントローラー対応" created
2019-06-01 22:12 Updated by: yknk
  • Details Updated
2019-06-01 22:16 Updated by: yknk
Comment

仕様

ゲームコントローラーの識別

  • XInputのゲームコントローラーに対応する。DirectInputのゲームコントローラーには対応しない。
  • 複数のゲームコントローラーが接続されている場合、先頭のコントローラーを制御対象とする。

メイン画面

ゲームコントローラーの操作と機能のマッピングは次の通り。カスタマイズには対応しない。

  • Pause ボタン: 再生/一時停止
  • A ボタン: 再生/一時停止
  • B ボタン: 停止
  • X ボタン: 視点移動:下降
  • Y ボタン: 視点移動:上昇
  • L1/R1 ショルダーボタン: 視点切り替え
  • L2/R2 トリガーボタン: 再生スキップ
  • 十字キー: 視点移動:前後左右
  • 左スティック: 視点移動:前後左右
  • 右スティック: 視線方向

設定画面

設定画面は用意しない。

2019-06-01 22:16 Updated by: yknk
Comment

対策:MIDITrailメインクラスの修正

MIDITrailApp

メンバにゲームパッド制御オブジェクト(m_GamePadCtrl)とゲームパッド用視点番号(m_GamePadViewPointNo)を追加。

MIDITrailApp::MIDITrailApp

追加したメンバの初期化処理を追加。

MIDITrailApp::Initialize

ゲームパッド制御オブジェクトの初期化処理を追加。

MIDITrailApp::Run

メッセージループ内にゲームパッド操作処理の呼び出しを追加。

MIDITrailApp::_GamePadProc

ゲームパッド操作処理メソッドを追加。 ボタン押下を確認して、ボタンに対応する機能を呼び出す。

MIDITrailApp::_ChangeViewPoint

視点切り替えメソッドを追加。

2019-06-01 22:17 Updated by: yknk
Comment

対策:一人称カメラクラスの修正

MTFirstPersonCam

メンバにゲームパッド制御オブジェクトを追加。

MTFirstPersonCam::Initialize

ゲームパッド制御オブジェクトの初期化処理を追加。

MTFirstPersonCam::Transform

ゲームパッドの右スティックの状態を取得して視線方向に反映する。

MTFirstPersonCam::_TransformCamPosition

ゲームパッドの十字キー、左スティック、X/Yボタンの状態を取得してカメラ位置に反映する。

(Edited, 2019-06-02 00:52 Updated by: yknk)
2019-06-01 22:17 Updated by: yknk
Comment

対策:ゲームパッド制御クラスの追加

MTGamePadCtrl

ゲームパッド制御クラスを新規追加。

2019-06-01 22:17 Updated by: yknk
Comment

対策:ビルド設定の変更

MIDITrailプロジェクトのプロパティを開く。 「リンカー / 入力 / 追加の依存ファイル」に"XInput.lib"を追加。 構成とプラットフォームのすべての組み合わせで設定する。 (Rlease/x64, Rlease/x86, Debug/x64, Debug/x86)

2019-06-03 23:47 Updated by: yknk
  • Resolution Update from None to Fixed
  • Status Update from Open to Closed

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login