Untitled
unknown
plain_text
a year ago
1.7 kB
7
Indexable
using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { [SerializeField] private Transform groundCheckTransform = null; [SerializeField] private LayerMask playerMask; private bool jumpKeyWasPressed; private float horizontalInput; private Rigidbody rigidbodyComponent; private int superJumpsRemaining; // Start is called before the first frame update void Start() { rigidbodyComponent = GetComponent<Rigidbody>(); } // Update is called once per frame void Update() { // check if space key was pressed down if (Input.GetKeyDown(KeyCode.Space)) { jumpKeyWasPressed = true; } horizontalInput = Input.GetAxis("Horizontal"); } // FixedUpdate is called once every physic update private void FixedUpdate() { GetComponent<Rigidbody>().velocity = new Vector3(horizontalInput, GetComponent<Rigidbody>().velocity.y, 0); if (Physics.OverlapSphere(groundCheckTransform.position, 0.1f, playerMask).Length == 0) { return; } if (jumpKeyWasPressed) { float jumpPower = 7f; if (superJumpsRemaining > 0) { jumpPower *= 2; superJumpsRemaining--; } GetComponent<Rigidbody>().AddForce(Vector3.up * jumpPower, ForceMode.VelocityChange); jumpKeyWasPressed = false; } } private void OnTriggerEnter(Collider other) { if (other.gameObject.layer == 9) { Destroy(other.gameObject); superJumpsRemaining++; } } }
Editor is loading...