pokemon c# unity walking 2D
// Systems to use.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
// Variables
public float WalkingSpeed = 3f;
public float RunningSpeed = 8f;
public bool IsRunning = false;
private float HorizontalMovement;
private float VerticalMovement;
private Rigidbody2D RB;
void Start()
{
// Game Loaded?
Debug.Log("Game Loaded [PlayerController]");
// Set Variable
RB = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
// Movement Inputs.
HorizontalMovement = Input.GetAxisRaw("Horizontal");
VerticalMovement = Input.GetAxisRaw("Vertical");
// Running System.
// Delete all of this if you don't want sprinting.
if (Input.GetKey(KeyCode.LeftShift))
{
IsRunning = true; // Needs to be specific for the running system I want. Change it to Input.GetKeyDown for it to be a toggle sprinting system
}
else
{
IsRunning = false;
}
}
// Fixed Update is just better in general- In my opinion
void FixedUpdate() {
// Movement System
// Check if player is running
if (IsRunning)
{
RB.velocity = new Vector2(HorizontalMovement * RunningSpeed, VerticalMovement * RunningSpeed);
}
else
{
RB.velocity = new Vector2(HorizontalMovement * WalkingSpeed, VerticalMovement * WalkingSpeed);
}
}
}