Slide and Glide
This commit is contained in:
@@ -423,7 +423,7 @@ Transform:
|
||||
m_GameObject: {fileID: 319279591}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -12.2, y: 1.51404, z: 15.37}
|
||||
m_LocalPosition: {x: 9.4, y: 1.51404, z: 15.37}
|
||||
m_LocalScale: {x: 2, y: 2, z: 2}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
@@ -1023,9 +1023,11 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 9b9bab48a629093449f53dc5ea63d752, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::PlayerMove
|
||||
basespeed: 8
|
||||
speed: 8
|
||||
rb: {fileID: 0}
|
||||
speedincrease: 0.05
|
||||
StartPos: {x: -15.5, y: 1.23, z: 12.73}
|
||||
slide: 0.2
|
||||
--- !u!1 &1262927943
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -1,14 +1,21 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
public class PlayerMove : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private float basespeed;
|
||||
[SerializeField] private float speed;
|
||||
[SerializeField] private Rigidbody rb;
|
||||
[SerializeField] private float speedincrease;
|
||||
private Rigidbody rb;
|
||||
[SerializeField] private Vector3 StartPos;
|
||||
[SerializeField] private float slide;
|
||||
|
||||
Vector3 moveDirection;
|
||||
|
||||
bool vertical;
|
||||
bool horizontal;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
rb = GetComponent<Rigidbody>();
|
||||
@@ -21,26 +28,38 @@ public class PlayerMove : MonoBehaviour
|
||||
horizontalInput = Mathf.Round(horizontalInput);
|
||||
verticalInput = Mathf.Round(verticalInput);
|
||||
|
||||
Vector3 moveDirection;
|
||||
|
||||
|
||||
if (horizontalInput != 0 && horizontal == true)
|
||||
{
|
||||
transform.rotation = Quaternion.Euler(0f, 0f, 90f);
|
||||
vertical = false;
|
||||
moveDirection = new Vector3(horizontalInput,0, 0);
|
||||
moveDirection.Normalize();
|
||||
|
||||
if (!vertical)
|
||||
{
|
||||
speed += speedincrease;
|
||||
}
|
||||
|
||||
}
|
||||
else if (verticalInput != 0 && vertical == true)
|
||||
{
|
||||
transform.rotation = Quaternion.Euler(90f, 0f, 0f);
|
||||
horizontal = false;
|
||||
moveDirection = new Vector3(0, 0, verticalInput);
|
||||
moveDirection.Normalize();
|
||||
|
||||
if (!horizontal)
|
||||
{
|
||||
speed += speedincrease;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
moveDirection = new Vector3(0, 0, 0);
|
||||
horizontal = true;
|
||||
vertical = true;
|
||||
StartCoroutine(Slide(slide));
|
||||
transform.rotation = Quaternion.Euler(0f, 0f, 0f);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -52,4 +71,14 @@ public class PlayerMove : MonoBehaviour
|
||||
{
|
||||
this.transform.position = StartPos;
|
||||
}
|
||||
|
||||
IEnumerator Slide(float delay)
|
||||
{
|
||||
yield return new WaitForSeconds(delay);
|
||||
moveDirection = new Vector3(0, 0, 0);
|
||||
horizontal = true;
|
||||
vertical = true;
|
||||
speed = basespeed;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user