Merge remote-tracking branch 'origin/main' into damage-handling
This commit is contained in:
@@ -137,7 +137,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4266476263824402640, guid: d56297e435f8410a584581d73d99d2e4, type: 3}
|
- target: {fileID: 4266476263824402640, guid: d56297e435f8410a584581d73d99d2e4, type: 3}
|
||||||
propertyPath: m_GravityScale
|
propertyPath: m_GravityScale
|
||||||
value: 5
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6566899495513628888, guid: d56297e435f8410a584581d73d99d2e4, type: 3}
|
- target: {fileID: 6566899495513628888, guid: d56297e435f8410a584581d73d99d2e4, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
|
|||||||
@@ -1,19 +1,27 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using System.Collections;
|
||||||
|
|
||||||
public class DropletMovement : MonoBehaviour
|
public class DropletMovement : MonoBehaviour
|
||||||
{
|
{
|
||||||
private Rigidbody2D rb;
|
private Rigidbody2D rb;
|
||||||
public float moveSpeed = 5f;
|
|
||||||
public float jumpingPower = 5f;
|
|
||||||
private Vector2 movement;
|
|
||||||
private Animator playerAnim; //for animation
|
|
||||||
private float xInput;
|
|
||||||
|
|
||||||
//helper variables
|
// helper variables
|
||||||
private bool isGrounded = true;
|
private bool isGrounded = true;
|
||||||
[SerializeField] private float dashSpeed;
|
private float facingDirection = 1f;
|
||||||
[SerializeField] private float dashDuration;
|
|
||||||
private float dashTime;
|
// movement
|
||||||
|
private Vector2 movement;
|
||||||
|
public float jumpingPower = 5f;
|
||||||
|
public float moveSpeed = 5f;
|
||||||
|
|
||||||
|
// dashing
|
||||||
|
private bool canDash = true;
|
||||||
|
private bool isDashing;
|
||||||
|
public float dashingPower = 24f;
|
||||||
|
public float dashingTime = 0.2f;
|
||||||
|
public float dashingCooldown = 1f;
|
||||||
|
|
||||||
|
[SerializeField] private TrailRenderer tr;
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
@@ -22,18 +30,77 @@ public class DropletMovement : MonoBehaviour
|
|||||||
|
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
|
if (isDashing)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
movement.x = Input.GetAxisRaw("Horizontal");
|
movement.x = Input.GetAxisRaw("Horizontal");
|
||||||
|
|
||||||
|
if (movement.x < 0) facingDirection = -1;
|
||||||
|
if (movement.x > 0) facingDirection = 1;
|
||||||
|
|
||||||
|
if (isGrounded &&
|
||||||
if (isGrounded && Input.GetKeyDown(KeyCode.Space))
|
(Input.GetKeyDown(KeyCode.Space) ||
|
||||||
|
Input.GetKeyDown(KeyCode.UpArrow) ||
|
||||||
|
Input.GetKeyDown(KeyCode.W)))
|
||||||
{
|
{
|
||||||
rb.linearVelocity = new Vector2(rb.linearVelocity.x, jumpingPower);
|
rb.linearVelocity = new Vector2(rb.linearVelocity.x, jumpingPower);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Input.GetKeyDown(KeyCode.LeftShift) && canDash)
|
||||||
|
{
|
||||||
|
StartCoroutine(Dash());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FixedUpdate()
|
private void FixedUpdate()
|
||||||
{
|
{
|
||||||
|
if (isDashing)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
rb.linearVelocity = new Vector2(movement.x * moveSpeed, rb.linearVelocity.y);
|
rb.linearVelocity = new Vector2(movement.x * moveSpeed, rb.linearVelocity.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private IEnumerator Dash()
|
||||||
|
{
|
||||||
|
canDash = false;
|
||||||
|
isDashing = true;
|
||||||
|
|
||||||
|
float originalGravity = rb.gravityScale;
|
||||||
|
rb.gravityScale = 0f;
|
||||||
|
|
||||||
|
rb.linearVelocity = new Vector2(transform.localScale.x * dashingPower, 0f);
|
||||||
|
|
||||||
|
if (tr != null)
|
||||||
|
{
|
||||||
|
tr.emitting = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
yield return new WaitForSeconds(dashingTime);
|
||||||
|
|
||||||
|
if (tr != null)
|
||||||
|
{
|
||||||
|
tr.emitting = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
rb.gravityScale = originalGravity;
|
||||||
|
isDashing = false;
|
||||||
|
|
||||||
|
yield return new WaitForSeconds(dashingCooldown);
|
||||||
|
|
||||||
|
canDash = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnCollisionEnter2D(Collision2D col)
|
||||||
|
{
|
||||||
|
isGrounded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnCollisionExit2D(Collision2D col)
|
||||||
|
{
|
||||||
|
isGrounded = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user