(サンプルコード)
using UnityEngine;
using UnityEngine.UI;
public class Tank_Input : MonoBehaviour
{
public float moveSpeed;
public float turnSpeed;
private float gas;
private float maxGas = 20;
public Slider gasSlider;
// ★インプットシステム
private InputSystem_Actions isa;
private void Start()
{
// ★インプットシステム
isa = new InputSystem_Actions();
isa.Enable();
gas = maxGas;
gasSlider.maxValue = maxGas;
gasSlider.value = gas;
}
void Update()
{
// ★インプットシステム
Vector2 movement2 = isa.Player.Move.ReadValue();
Vector3 movemnet3 = new Vector3(movement2.x, 0, movement2.y);
// 前進・後退
if (gas > 0)
{
transform.Translate(Vector3.forward * movemnet3.z * Time.deltaTime * moveSpeed);
}
// 旋回
transform.Rotate(Vector3.up * movemnet3.x * Time.deltaTime * turnSpeed);
// ★ガスメーター
if (movemnet3.z != 0)
{
gas -= 0.05f;
gasSlider.value = gas;
if (gas < 0)
{
gas = 0;
}
}
else
{
gas += 0.07f;
gasSlider.value = gas;
if (gas > maxGas)
{
gas = maxGas;
}
}
}
}
(実装結果)