commit
eb88c1a4b2
74
Jump Game/Assets/Scripts/Player/PlayerController.cs
Normal file
74
Jump Game/Assets/Scripts/Player/PlayerController.cs
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class PlayerController : MonoBehaviour
|
||||||
|
{
|
||||||
|
private Rigidbody2D rbody;
|
||||||
|
private float moveInput;
|
||||||
|
private float movementSpeed;
|
||||||
|
private float jumpForce;
|
||||||
|
|
||||||
|
public bool isGrounded;
|
||||||
|
public Transform feetPos;
|
||||||
|
public LayerMask whatIsGround;
|
||||||
|
public float checkRadius;
|
||||||
|
|
||||||
|
private float charger;
|
||||||
|
private bool discharge;
|
||||||
|
private bool isCharging;
|
||||||
|
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
rbody = GetComponent<Rigidbody2D>();
|
||||||
|
isCharging = false;
|
||||||
|
}
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
if (Input.GetKey(KeyCode.Space))
|
||||||
|
{
|
||||||
|
charger += Time.deltaTime;
|
||||||
|
isCharging = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Input.GetKeyUp(KeyCode.Space))
|
||||||
|
{
|
||||||
|
discharge = true;
|
||||||
|
isCharging = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void FixedUpdate()
|
||||||
|
{
|
||||||
|
isGrounded = Physics2D.OverlapCircle(feetPos.position, checkRadius, whatIsGround);
|
||||||
|
if (isGrounded)
|
||||||
|
{
|
||||||
|
moveInput = Input.GetAxis("Horizontal");
|
||||||
|
}
|
||||||
|
rbody.velocity = new Vector2(moveInput * movementSpeed, rbody.velocity.y);
|
||||||
|
|
||||||
|
// Stops movement when space is pressed
|
||||||
|
if (isCharging && isGrounded)
|
||||||
|
{
|
||||||
|
movementSpeed = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
movementSpeed = 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (discharge && isGrounded)
|
||||||
|
{
|
||||||
|
// Charges the jump
|
||||||
|
jumpForce = 10 * charger;
|
||||||
|
if (jumpForce > 10)
|
||||||
|
{
|
||||||
|
jumpForce = 10;
|
||||||
|
}
|
||||||
|
rbody.velocity = new Vector2(rbody.velocity.x, jumpForce);
|
||||||
|
|
||||||
|
// Reset charge and set discharge to false
|
||||||
|
charger = 0f;
|
||||||
|
discharge = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user