【Unity】画面上にコントローラーを表示

ゲーム中、コントローラーが必要な時があります。プレステやSwitchなど現物としてコントローラーが使えたらいいのですが、スマホゲームの場合はコントローラーも画面内に収める必要があります。

UnityでButtonをつけて・・・というようにしても問題はないのですが、どうしてもダサく見えてしまいます。そこでasset Storeの出番です。無料assetの中でもJOYSTICK PACKを選んでみました。

参考にしたサイト 

画像1

作成したゲームでは6方向に動くようにしたかったのでこのようなデザインになっています。それぞれのジョイスティック にScriptを貼り付けて紫色の物体に紐付けています。右側がy軸方向に、左側がxz方向になるように、移動速度も「private const float SPEED = 0.5f;」で滑らかにしました。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MovingCube : MonoBehaviour
{
   //先ほど作成したJoystick
   [SerializeField]
   public Joystick _joystick ;

   

   //移動速度
   private const float SPEED = 0.5f;

   

   private void Update()
   {
       Vector3 pos = transform.position;

       pos.x += _joystick.Horizontal * SPEED;
       pos.z += _joystick.Vertical * SPEED;

       transform.position = pos;

       
   }

}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MovingCubeY : MonoBehaviour
{
   //先ほど作成したJoystick
   [SerializeField]
   public Joystick _joystick ;

   

   //移動速度
   private const float SPEED = 0.5f;

   

   private void Update()
   {
       Vector3 pos = transform.position;

       pos.y -= _joystick.Horizontal * SPEED;
      

       transform.position = pos;

       
   }

}

app storeで自作ゲーム公開中〜
https://apps.apple.com/jp/app/%E8%B1%86%E8%85%90%E3%83%88%E3%83%A9%E3%83%B3%E3%83%9D%E3%83%AA%E3%83%B3/id1517071345


この記事が気に入ったらサポートをしてみませんか?