アオイの備忘録ブログ

色んな事を書く備忘録用ブログです(※更新頻度は神のみぞ知る)

Rev.19 ゲームコントローラーが接続されているかどうかの確認

XBox360コントローラーを使用している時にUnityのスクリプトから確認する方法を
忘れない様にメモ。

 

■ 環境

・Unity2019.4.22f1
・Windows10
・VisualStudio2017

■ 内容

▼ 接続数1つ時
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Sample1 : MonoBehaviour
{
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
// 接続されているコントローラの名前を取得
var controllerName = Input.GetJoystickNames();

// 接続数がゼロならエラー
if( controllerName == "" ) {
Debug.Log("Error");
}
// ※Lengthを使うことも出来るが接続数がゼロでも1が入るので注意
}
}

▼ 接続数複数時
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Sample2 : MonoBehaviour
{
  // Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
// 接続されているコントローラの名前を取得
var controllerLists = Input.GetJoystickNames();

// 接続数がゼロならエラー
// 配列の先頭が空であれば接続数はゼロと判定出来る
if( controllerLists[0] == "" ) {
Debug.Log("Error");
}

    // 接続リストを出す
for( int i = 0; i < controllerLists.Length; i ++ ) {
Debug.LogFormat( "Name{0}:{1}", i, controllerLists[i] );
}

}
}

これで取得は出来る。
これを少し修正して毎フレーム接続監視する事も出来る。

 

■ 補足

下記の皆さんを参考にブログ設定をはてな記法にして
「>||」「||<」で挟んでいるのにソースコード表記にならなくて
もう意味が分からない・・・・
「>|言語|」にしてもシンタックスハイライトもならないし・・・・なにゆえ・・・

 

はてなブログでソースコードをいい感じに載せる方法 - 記録。

はてなブログでソースコードを表示させる方法 - コンサルでデータサイエンティスト

はてなブログにソースコードを貼り付ける方法 - くりにっき