前提・実現したいこと
ジョイスティックで全方向に動く,かつUIボタンでジャンプするキャラクターを実装しています。
現在、ジョイスティックで動かすこととと、スペースキーでジャンプは出来ますが、UIボタンでジャンプさせる事が出来ないです。
以下の記事参考にしました
http://inter-high-blog.unity3d.jp/2017/07/22/characonjump/
発生している問題・エラーメッセージ
using UnityEngine; using UnityEngine.UI; public class astronomer2 : MonoBehaviour { private Animator anim; private CharacterController controller; public DynamicJoystick joystick; public float speed = 3.0f; public float jumpPower = 10f; public float turnSpeed = 400.0f; private Vector3 moveDirection = Vector3.zero; public float gravity = 20.0f; public GameObject Player; public Button button; // Start is called before the first frame update void Start() { controller = GetComponent<CharacterController>(); anim = gameObject.GetComponentInChildren<Animator>(); } void Update() { Vector2 input = joystick ? joystick.Direction : new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")); if (controller.isGrounded) { moveDirection = new Vector3(input.x, 0, input.y); moveDirection = transform.TransformDirection(moveDirection); moveDirection *= speed; } if (input.y > 0.0f) { anim.SetBool("walk", true); } else { anim.SetBool("walk", false); } float turn = input.x; transform.Rotate(0, turn * turnSpeed * Time.deltaTime, 0); controller.Move(moveDirection * Time.deltaTime); moveDirection.y -= gravity * Time.deltaTime; Jump(); } public void Jump() { if(Input.GetKeyDown("space") || Input.GetButtonDown("Jump")) { moveDirection.y = jumpPower; } else { moveDirection.y -= gravity * Time.deltaTime; } }
試したこと
UIの設置と、ボタンInspectorのOnClick設定はしました。
補足情報(FW/ツールのバージョンなど)
バージョン 2019.4.1f1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。