Platformer Progress bar

hi everybody im trying to create a Platformer Progress bar but i got this error

Assets/2.js(44,52): BCE0044: unexpected char: 0x2013.

here is my script

//Script by Will Goldstone at Unity3dstudent.com

  // set GUI bar width and height in the Inspector



  var barWidth : float = 500;



  var barHeight : float = 25;



   



  // drag a texture as the icon to move on the progress bar



  var progIcon : Texture;



   



  // where to set the GUI element to



  private var barProgress : float;



   



  // empty objects represent the start and end of a level



  var startPoint : Transform;



  var endPoint : Transform;



   



  // current Player position



  var playerPos : Transform;



   



  function Update(){



   // get level distance by subtracting start and end



   var totalDist : float = endPoint.position.x – startPoint.position.x;



   



   // get player distance from start in X axis only so slopes / height doesn't affect result



   var playerDist : float = playerPos.position.x – startPoint.position.x;



   



   //get player's progress as a percentage of the whole distance



   var playerProgress : float = playerDist / totalDist * 100;



   



   //turn the playerProgress percentage back into the scale of barWidth



   barProgress = playerProgress / 100 * barWidth;



   



  }



   



  function OnGUI() {



   // create a GUI group the width of the bar and twice its height



   // in order to leave room for 'Start' and 'End' text under the bar



   GUI.BeginGroup (new Rect (10, 10, barWidth, barHeight*2));



   



    //draw a box as the backing for the progress bar, blank text inside



    GUI.Box(Rect(0,0,barWidth,barHeight),"");



   



    // create a label to draw the progress icon texture, use barProgress var



    // to set its X position, 0 as the Y position and width and height of the texture used



    GUI.Label (Rect (barProgress, 0, progIcon.width, progIcon.height),



          progIcon);



   



    // add start and end labels



    GUI.Label(Rect(progIcon.width/2, 25, 50, barHeight),"Start");



    GUI.Label(Rect(barWidth-30, 25, 100, barHeight),"End");



   



   GUI.EndGroup();



  }

1 Answer

1

@mangohack

Here’s how I solved your problem.

As every good programmer knows, the error messages are there not only to tell you that you have problems, but to give you information about the problem. Your error message is pretty explicit: at line 44, character 52, the compiler came across a character it didn’t expect, character 0x2013. A quick google search reveals that 0x2013 is an em dash.

Sure enough, when I search your code I find that your minus signs (dashes) are actually em dashes - and even though to you and I they look very similar, the compiler has no idea what to do with them. So go through and replace all your em dashes (the first of which can be found at line 44) with regular ol’ dashes, and you should be fine.

This is the way I debug errors in my own code. Next time try to decipher the message a bit before posting here - your post sounded a lot like “help my code isn’t working and I haven’t put any thought into it fix it for me kthx.”

-1 and shame on you for being discouraging to someone who's clearly new to the field. Unity especially is a common way for non programmers to try and slowly approach programming. "kthx."