I need to at each OnTriggerEnter added a point, but it only adds one point. Please Help!
using UnityEngine; using System.Collections; using UnityEngine.UI;
public class achok : MonoBehaviour { public GameObject Textmy; public Text scoreText; public int score;
void Start()
{
PlayerPrefs.GetInt("scorePref");
score = PlayerPrefs.GetInt("scorePref");
SetCountText();
}
void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == "ball")
{
score = score + 1;
SetCountText();
}
}
void SetCountText()
{
scoreText.text = "Score : " + score.ToString();
}
void Update()
{
if (scoreText.name == "scoreText")
{
scoreText.text = "score: " + score;
}
PlayerPrefs.SetInt("scorePref", score);
}
}
Answer by markkov · Sep 09, 2016 at 01:30 AM
Hello @artur061293 I'm going to assume your score default value at start or Awake is 0. Are you using float values or integers? I'll assume you are using int values for the purpose of having score be a whole number. It looks like your expression is off. Try a + sign in front of the equal sign. That will just add +1 to your default score value (which should be 0 at start) every time there is a collision event registered. Also, I believe there should be a gameobject reference in between other and tag. I have never seen it just other.tag. Might work, but I always use other.gameobject.tag. See below. I hope you find this helpful.
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameobject.tag == "ball")
{
score += 1
SetCountText();
}
Let me know if this helped solve your issue :)
Your answer
Follow this Question
Related Questions
Problem with ScoreBoard in Ping Pong game 1 Answer
How do I make a score system? 1 Answer
Problem with counting score in 3D game 1 Answer
How do I get points when clicking an object? 1 Answer
Scoring different amount of points 0 Answers