- Home /
I'm trying to create a count of how many hearts I collect and a NullReferenceException appears each time?
I'm a beginner on Unity and just learning from my lecturer's notes. But I'm trying to create an remove object script so that when my player hits an object(in my case, a heart) It will disappear and it will appear on my Interface, which say Items Picked Up. My Objects can be collected but I can't get the name Heart to appear and when I do collide with the object, this error appears : ( with removeObjectScript being the name)
NullReferenceException: Object reference not set to an instance of an object
removeObjectScript.OnTriggerEnter (UnityEngine.Collider other)
Due to fact that I have no past knowledge of Unity, I really don't know what it means, in regards of my script. This is the code
private var playerData : GameObject;
private var playerDataScript : PlayerDataScript;
private var pickups = new Array();
private var itemsPickedUp : int;
function OnTriggerEnter (other : Collider) {
Debug.Log("Collision");
if(other.name == "Player")
{
//Debug.Log(other name);
pickups = getPickups();
pickups.Add("Heart");
setPickups(pickups);
itemsPickedUp = getNoOfPickups();
itemsPickedUp++;
setNoOfPickups(itemsPickedUp);
Destroy(gameObject);
}
}
function getPickups() : Array{
playerData = GameObject.Find("PlayerData");
if(playerData != null)
{
playerDataScript = playerData.GetComponent(PlayerDataScript);
return playerDataScript.playerPickup;
}
}
function setPickups(pickupsArray : Array){
playerData = GameObject.Find("PlayerData");
if(playerData != null)
{
playerDataScript = playerData.GetComponent(PlayerDataScript);
playerDataScript.playerPickup = pickupsArray;
}
}
function getNoOfPickups() : int{
playerData = GameObject.Find("PlayerData");
if(playerData != null)
{
playerDataScript = playerData.GetComponent(PlayerDataScript);
return playerDataScript.playerItemsPickedUp;
}
}
function setNoOfPickups(numPickups : int){
playerData = GameObject.Find("PlayerData");
if(playerData != null)
{
playerDataScript = playerData.GetComponent(PlayerDataScript);
playerDataScript.playerItemsPickedUp = numPickups;
}
}
Am I missing something on my other scripts, because I've looked at other help and I still have no idea what it means to me as this is the first time I've done anything with programming.
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
How to destroy and trigger on enter. 1 Answer
OnTriggerEnter -- NullReferenceException -- C# 2 Answers
Detection if a GameObject is below you or next to you? 1 Answer
Unity3D Pressure Plate request. 3 Answers