I’m trying to learn how to script in unity and the first thing I’m trying to make is a pong game. I’m using a tutorial to learn how to do this, but it’s in C#. I only know JavaScript(UnityScript), although I know enough to change things in C# so that they would work for my javascript scripts. I got a few things working, like moving the padle/bat and counting the score, but now I’m stuck on how to get the score displayed.
Here’s the code:
import UnityEngine.UI;
var Bat1_score: int = 0;
var Bat2_score: int = 0;
var ScoreBoard: Text;
var ball: GameObject;
function Update () {
if(ball.transform.position.x <= -16.4f) {
Bat1_score ++;
PrintScore();
} else if (ball.transform.position.x >= 16.4f) {
Bat2_score ++;
PrintScore();
}
}
function PrintScore() {
print("Bat1: " + Bat1_score + ", " + "Bat2: " + Bat2_score);
ScoreBoard.text = Bat1_score.ToString() + " - " Bat2_score.ToString();
}
Now everything works, except line 21 or:
ScoreBoard.text = Bat1_score.ToString() + " - " Bat2_score.ToString();
and the error I get is:
Assets/Scripts/CountScore.js(21,54): UCE0001: ';' expected. Insert a semicolon at the end.
I’ve no idea what I’m doing wrong, so I can only guess that it’s a syntax difference between C# and JavaScript that I’m not aware of. Thanks in advance.
Edit:
I got my answer. It seems I forgot a + in a certain place.
Before:
ScoreBoard.text = Bat1_score.ToString() + " - " Bat2_score.ToString();
After:
ScoreBoard.text = Bat1_score.ToString() + " - " + Bat2_score.ToString();