Unable to collect coins
I am just starting out with Unity following along with this video, and I am stuck at roughly 1 hour and 54 minutes in: https://www.youtube.com/watch?v=pwZpJzpE2lQ
It is worth noting that the video uses Unity 2019.4.4f1 whereas I am using Unity 2020.3.2f1.
My issue is that I cannot get my character to pick up coins and they are currently solid, uncollectable objects. The coins are all set to the Coin layer (layer 9) as per the video.
Here is my code (which I looked over a dozen times to see if there were any differences from the video's code and couldn't find any, hence my confusion). Does anyone know where I went wrong?
using System; using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Player : MonoBehaviour { [SerializeField] private Transform groundCheckTransform = null; [SerializeField] private LayerMask playerMask;
private bool jumpKeyWasPressed;
private float horizontalInput;
private Rigidbody rigidbodyComponent;
// Start is called before the first frame update
void Start()
{
rigidbodyComponent = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
// Check if space key is pressed down
if (Input.GetKeyDown(KeyCode.Space))
{
jumpKeyWasPressed = true;
}
horizontalInput = Input.GetAxis("Horizontal");
}
// FixedUpdate is called once every physic update
private void FixedUpdate()
{
rigidbodyComponent.velocity = new Vector3(horizontalInput, GetComponent<Rigidbody>().velocity.y, 0);
if (Physics.OverlapSphere(groundCheckTransform.position, 0.1f, playerMask).Length == 0)
{
return;
}
if (jumpKeyWasPressed)
{
rigidbodyComponent.AddForce(Vector3.up * 7, ForceMode.VelocityChange);
jumpKeyWasPressed = false;
}
}
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.layer == 9)
{
Destroy(other.gameObject);
}
}
}
Your answer
Follow this Question
Related Questions
OnTriggerEnter2D not fired while OnTriggerStay2D is 1 Answer
Killing enemy jumping on his head 2 Answers
OnTriggerEnter is giving me nothing 1 Answer
OnTriggerEnter work only once 0 Answers