Did a few things

This commit is contained in:
2021-07-23 09:45:12 +02:00
parent 3da75e4cc6
commit db537bd7b7
122 changed files with 15101 additions and 619 deletions

View File

@@ -3,39 +3,31 @@ using UnityEngine.Events;
public class CharacterController2D : MonoBehaviour
{
public float m_JumpForce = 400f; // Amount of force added when the player jumps.
public float m_JumpVelocity = 20f;
public AudioSource SFX;
public AudioClip JumpSFX;
public LayerMask m_WhatIsGround; // A mask determining what is ground to the character
public Transform m_GroundCheck; // A position marking where to check if the player is grounded.
public LayerMask GroundLayer;
public Transform GroundCheckElement;
public float GroundCheckRadius = 0.2f;
bool OnGround;
public Rigidbody2D rb;
const float k_GroundedRadius = .2f; // Radius of the overlap circle to determine if grounded
private bool m_Grounded; // Whether or not the player is grounded.
const float k_CeilingRadius = .2f; // Radius of the overlap circle to determine if the player can stand up
private Rigidbody2D m_Rigidbody2D;
private bool m_FacingRight = true; // For determining which way the player is currently facing.
private Vector3 m_Velocity = Vector3.zero;
bool wasOnGround = false;
private void Awake()
{
m_Rigidbody2D = GetComponent<Rigidbody2D>();
}
bool CanJump = false;
private void FixedUpdate()
{
m_Grounded = false;
// The player is grounded if a circlecast to the groundcheck position hits anything designated as ground
// This can be done using layers instead but Sample Assets will not overwrite your project settings.
Collider2D[] colliders = Physics2D.OverlapCircleAll(m_GroundCheck.position, k_GroundedRadius, m_WhatIsGround);
for (int i = 0; i < colliders.Length; i++)
wasOnGround = OnGround;
if (Physics2D.CircleCast(GroundCheckElement.position, GroundCheckRadius, Vector2.zero, 0f, GroundLayer))
{
if (colliders[i].gameObject != gameObject)
{
m_Grounded = true;
}
OnGround = true;
}
else{
OnGround = false;
}
if (wasOnGround != OnGround && OnGround == true){
CanJump = true;
}
}
@@ -43,33 +35,18 @@ public class CharacterController2D : MonoBehaviour
public void Move(float move, bool jump)
{
// Move the character by finding the target velocity
Vector3 targetVelocity = rb.velocity;
targetVelocity[0] = move;
rb.velocity = targetVelocity;
Vector3 targetVelocity = m_Rigidbody2D.velocity;
targetVelocity[0] = move * 10f;
m_Rigidbody2D.velocity = targetVelocity;
// If the player should jump...
if (m_Grounded && jump)
if (OnGround && jump && CanJump)
{
m_Grounded = false;
targetVelocity = m_Rigidbody2D.velocity;
targetVelocity[1] = m_JumpForce;
m_Rigidbody2D.velocity = targetVelocity;
OnGround = false;
targetVelocity = rb.velocity;
targetVelocity[1] = m_JumpVelocity;
rb.velocity = targetVelocity;
SFX.clip = JumpSFX;
SFX.Play();
}
}
private void Flip()
{
// Switch the way the player is labelled as facing.
m_FacingRight = !m_FacingRight;
// Multiply the player's x local scale by -1.
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}

View File

@@ -0,0 +1,27 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class MenuPlay : MonoBehaviour
{
public LayerMask contactFilter;
public AudioSource sfx;
public MenuMouse mouse;
// Start is called before the first frame update
void Start()
{
Cursor.visible = false;
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0)){
if(Physics2D.CircleCast(mouse.pos, 1f, Vector2.zero, 0f, contactFilter)){
sfx.Play();
SceneManager.LoadScene("Tutorial");
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d5075f6fba02f0545a305b5420f31a2c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -35,12 +35,12 @@ public class PlayerControls : MonoBehaviour
if (switchy){
sprite.flipY = true;
rb.sharedMaterial = top;
controller.m_JumpForce = controller.m_JumpForce * 2f;
controller.m_JumpVelocity = controller.m_JumpVelocity * 2f;
}
else {
sprite.flipY = false;
rb.sharedMaterial = bottom;
controller.m_JumpForce = controller.m_JumpForce / 2f;
controller.m_JumpVelocity = controller.m_JumpVelocity / 2f;
}
sfx.clip = RotateSFX;
sfx.Play();
@@ -69,7 +69,7 @@ public class PlayerControls : MonoBehaviour
}
void FixedUpdate(){
controller.Move(horizonatalaxis * runspeed * Time.fixedDeltaTime, jumping);
controller.Move(horizonatalaxis * runspeed * 10f * Time.fixedDeltaTime, jumping);
}
}