- Home /
Question by
DroidifyDevs · Jul 12, 2015 at 07:08 PM ·
collisiontagscore
Count scripting problem
So I have written my point counter script. The way it works is my player hits objects that are tagged, and it shows the points. Here is the script:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class POINTS : MonoBehaviour
{
public Text countText;
public Text winText;
private Rigidbody rb;
private int count;
void Start()
{
rb = GetComponent<Rigidbody>();
count = 0;
SetCountText();
winText.text = "";
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Pickup"))
{
other.gameObject.SetActive(false);
count = count + 100;
}
SetCountText();
if (other.gameObject.CompareTag("TestSolid"))
{
other.gameObject.SetActive(false);
count = count - 100;
SetCountText();
}
}
void SetCountText()
{
countText.text = "Score: " + count.ToString();
if (count >= 1200)
{
winText.text = "Congrats! To play again press <";
}
}
}
But for some reason it counts only the Pick Up objects, not the TestSolid objects. How can I make this script work so it counts all the objects?
Comment
Best Answer
Answer by DroidifyDevs · Jul 15, 2015 at 07:31 PM
Do a
Debug.Log(other.gameObject.tag);
to make sure the tags are set right (in OnTriggerEnter.
BIG THANKS TO NoseKills, I put that into my code and it works! If you want to use this code, here it is:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class POINTS : MonoBehaviour
{
public Text countText;
public Text winText;
private Rigidbody rb;
private int count;
void Start()
{
rb = GetComponent<Rigidbody>();
count = 0;
SetCountText();
winText.text = "";
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Pickup"))
{
other.gameObject.SetActive(false);
count = count + 100;
}
SetCountText();
if (other.gameObject.CompareTag("TestSolid"))
{
other.gameObject.SetActive(false);
count = count - 300;
SetCountText();
{ Debug.Log(other.gameObject.tag);
}
}
}
void SetCountText()
{
countText.text = "Score: " + count.ToString();
if (count >= 1200)
{
winText.text = "Congrats! To play again press <";
}
}
}
Your answer
Follow this Question
Related Questions
Ammo crate collision 2 Answers
Help With Colliders 3 Answers
Creating a Asteroid health script 5 Answers
Fade texture on collision/trigger with certain tag or layer? 2 Answers
Gun swap through collision 1 Answer