how to make the score update showing the current points after they are subtracted for leaving the map or colliding with an object
well I have been making attempts in my code so that the total score is displayed on the screen by creating an int that contains the two variables to add and another that would be subtracting as follows.
public int MorePoints;
public int TotalScore;
public Text ContScore;
public int RestPoints;
public void ActualScore()
{
int S = (MorePoints - RestPoints);
TotalScore = S;
ContScore.text = "SCORE: " + TotalScore.ToString();
}
I declare it this way so that in the parts where 1 is added to the variable, either RestPoints or MorePoints, the operation is executed here and this can be called in an update so that my score is kept updated.
my code to add points is this:
public void OnTriggerEnter(Collider coin)
{
if(coin.gameObject.CompareTag("COIN1"))
{
coin.gameObject.SetActive(false);
MorePoints++;
ActualScore();
Debug.Log("puntos" + MorePoints);
Debug.Log(MorePoints + " - " + RestPoints + " = " + TotalScore);
//ContScore.text = "SCORE: " + TotalScore.ToString();
//TotalScore = (int)score;
}
if(coin.tag == "COIN2")
{
coin.gameObject.SetActive(false);
MorePoints += 3;
ActualScore();
Debug.Log("puntos" + MorePoints);
Debug.Log(MorePoints + " - " + RestPoints + " = " + TotalScore);
//ContScore.text = "SCORE: " + TotalScore.ToString();
}
}
and my code to subtract are these two:
public void Update()
{
if(this.transform.position.y <= -10.29)
{
TimeReset -= Time.deltaTime;
Reset = (int)TimeReset;
ContReset.text = "Caiste Regresaras en: " + Reset.ToString();
CanvasReset.SetActive(true);
if (TimeReset<=0)
{
this.transform.position = new Vector3(Xpos, Ypos, Zpos);
RestPoints++;
ActualScore();
//Debug.Log("restar" + RestPoints);
//Debug.Log(MorePoints + " - " + RestPoints + " = " + TotalScore);
//ContScore.text = "SCORE: " + TotalScore.ToString();
}
}
else
{
CanvasReset.SetActive(false);
}
}
the latter does show a negative score on the screen but the operation is not applied so that the score is equal to the total result of my variables Restpoints and MorePoints
private new void OnTriggerEnter(Collider RestarPoints)
{
if(RestarPoints.tag == "obstaculo")
{
mov.position = new Vector3(XposC, YposC, ZposC);
}
}
private void OnCollisionEnter(Collision RestarPuntos)
{
if(RestarPuntos.gameObject.tag == "RestPoint")
{
ActualScore();
Debug.Log(MorePoints + " - " + RestPoints + " = " + TotalScore);
Debug.Log("RESTAR" + RestPoints);
}
}
Your answer
Follow this Question
Related Questions
Game over high score playerprefs 0 Answers
How to find previous position of player 0 Answers
Score is being added up (in the background) and shows up at the end but not showing continuosly 1 Answer
How can i give x point for 1 milisecond in game? (anyone? ) 0 Answers
Add "1" to score text? Not "11111"? 1 Answer