better level
This commit is contained in:
1 parent
a925c191e2
commit
4a8a8ae916
40 files changed
+8471
-143
No files matched your search
@@ -1,73 +1,76 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class PlayerController : MonoBehaviour
|
||||
namespace Code.Gameplay.Player
|
||||
{
|
||||
[SerializeField] private float forwardSpeed = 10f;
|
||||
[SerializeField] private float laneDistance = 3.0f;
|
||||
[SerializeField] private float jumpForce = 8f;
|
||||
[SerializeField] private float gravity = 20f;
|
||||
|
||||
private int _targetLane = 1;
|
||||
|
||||
private CharacterController _controller;
|
||||
private Vector3 _direction;
|
||||
|
||||
private void Start()
|
||||
public class PlayerController : MonoBehaviour
|
||||
{
|
||||
_controller = GetComponent<CharacterController>();
|
||||
}
|
||||
[SerializeField] private float forwardSpeed = 10f;
|
||||
[SerializeField] private float laneDistance = 5f;
|
||||
[SerializeField] private float jumpForce = 8f;
|
||||
[SerializeField] private float gravity = 20f;
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.RightArrow) || Input.GetKeyDown(KeyCode.D))
|
||||
private int _targetLane = 1;
|
||||
|
||||
private CharacterController _controller;
|
||||
private Vector3 _direction;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
_targetLane = Mathf.Min(_targetLane + 1, 2);
|
||||
}
|
||||
else if (Input.GetKeyDown(KeyCode.LeftArrow) || Input.GetKeyDown(KeyCode.A))
|
||||
{
|
||||
_targetLane = Mathf.Max(_targetLane - 1, 0);
|
||||
_controller = GetComponent<CharacterController>();
|
||||
}
|
||||
|
||||
var targetPosition = transform.position.z * transform.forward + transform.position.y * transform.up;
|
||||
|
||||
switch (_targetLane)
|
||||
private void Update()
|
||||
{
|
||||
case 0:
|
||||
targetPosition += Vector3.left * laneDistance;
|
||||
break;
|
||||
case 2:
|
||||
targetPosition += Vector3.right * laneDistance;
|
||||
break;
|
||||
}
|
||||
|
||||
if (_controller.isGrounded)
|
||||
{
|
||||
_direction.y = -1f;
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.Space))
|
||||
if (UnityEngine.Input.GetKeyDown(KeyCode.RightArrow) || UnityEngine.Input.GetKeyDown(KeyCode.D))
|
||||
{
|
||||
_direction.y = jumpForce;
|
||||
_targetLane = Mathf.Min(_targetLane + 1, 2);
|
||||
}
|
||||
else if (UnityEngine.Input.GetKeyDown(KeyCode.LeftArrow) || UnityEngine.Input.GetKeyDown(KeyCode.A))
|
||||
{
|
||||
_targetLane = Mathf.Max(_targetLane - 1, 0);
|
||||
}
|
||||
|
||||
var targetPosition = transform.position.z * transform.forward + transform.position.y * transform.up;
|
||||
|
||||
switch (_targetLane)
|
||||
{
|
||||
case 0:
|
||||
targetPosition += Vector3.left * laneDistance;
|
||||
break;
|
||||
case 2:
|
||||
targetPosition += Vector3.right * laneDistance;
|
||||
break;
|
||||
}
|
||||
|
||||
if (_controller.isGrounded)
|
||||
{
|
||||
_direction.y = -1f;
|
||||
|
||||
if (UnityEngine.Input.GetKeyDown(KeyCode.Space))
|
||||
{
|
||||
_direction.y = jumpForce;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_direction.y -= gravity * Time.deltaTime;
|
||||
}
|
||||
|
||||
_direction.z = forwardSpeed;
|
||||
|
||||
var diff = targetPosition - transform.position;
|
||||
var moveDir = diff.normalized * (25f * Time.deltaTime);
|
||||
|
||||
var moveX = Mathf.Clamp(diff.x, -moveDir.magnitude, moveDir.magnitude);
|
||||
|
||||
var finalMove = new Vector3(moveX, _direction.y * Time.deltaTime, _direction.z * Time.deltaTime);
|
||||
|
||||
_controller.Move(finalMove);
|
||||
}
|
||||
else
|
||||
|
||||
public void IncreaseSpeed(float amount)
|
||||
{
|
||||
_direction.y -= gravity * Time.deltaTime;
|
||||
forwardSpeed += amount;
|
||||
}
|
||||
|
||||
_direction.z = forwardSpeed;
|
||||
|
||||
var diff = targetPosition - transform.position;
|
||||
var moveDir = diff.normalized * (25f * Time.deltaTime);
|
||||
|
||||
var moveX = Mathf.Clamp(diff.x, -moveDir.magnitude, moveDir.magnitude);
|
||||
|
||||
var finalMove = new Vector3(moveX, _direction.y * Time.deltaTime, _direction.z * Time.deltaTime);
|
||||
|
||||
_controller.Move(finalMove);
|
||||
}
|
||||
|
||||
public void IncreaseSpeed(float amount)
|
||||
{
|
||||
forwardSpeed += amount;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user