Alpaca Tech Blog

ゲーム作る系 草食動物の備忘録

【Unity】Inputに関する備忘録

随時更新予定

 

マウス

座標取得

Vector3 mousePosition = Input.mousePosition;
範囲は、

x ... 0~Screen.width

y ... 0~Screen.height

 

スマホ等でマルチタッチ環境の場合、タッチしている点群の中央が座標となります。

例)2点タッチした場合

1点目(100,200)

2点目(200,400)

座標 = (150,300)

 

クリック

if(Input.GetMouseButtonDown(0)){

    //  左クリックされた

}

Input.GetMouseButton(0);  // 左ボタン押されている間

Input.GetMouseButtonDown(0); // 左ボタン押した瞬間

Input.GetMouseButtonUp(0); // 左ボタン離した瞬間

 

 

UIボタンを押した場合は処理しない

// uGUIでボタンが押されているか

if(EventSystem.current.IsPointerOverGameObject()){
    return;
}

 // マウスボタン処理

...

 

参考

nn-hokuson.hatenablog.com

 

 

 

ジョイスティック、キーボード

十字キー取得 

var ix = Input.GetAxis("Horizontal");  // 横軸取得
var iy = Input.GetAxis("Vertical");   // 縦軸取得

-1.0 ~ +1.0の範囲で戻ってきます。

  

カーソルキーやWASD入力が場合もっさり動く

メニューのEdit->ProjectSettings->Input で

Gravity = 15

Sensitivity = 15

あたりにするとキビキビ動きます。

f:id:alpacatech:20171208163307p:plain

参考

tsubakit1.hateblo.jp

 

 

ボタン

if( Input.GetButtonDown("Fire1") )

{

// Fire1ボタンが押された

}

 

Fire1

Fire2

Fire3

Jump    

 

押した瞬間(1フレーム)

Input.GetButtonDown

Input.GetKeyDown

Input.GetMouseButtonDown

押している

Input.GetButton

Input.GetKey

Input.GetMouseButton

離した瞬間(1フレーム)

Input.GetButtonUp

Input.GetKeyUp

Input.GetMouseButtonUp

 

 

追加予定

タッチ

オブジェクトをクリック