- Home /
Please help get my code to work...compiler errors
New to unity and I cannot for the life of me figure out what the problem is in this code. I'm working from a book (Unity in Action) and even after what I thought was copying line for line, I still get errors.
using UnityEngine;
using System.Collections;
public class RayShooter : MonoBehaviour {
private Camera _camera;
void Start() {
_camera = GetComponent<Camera>();
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
void OnGUI() {
int size = 12;
float posX = _camera.pixelWidth/2 - size/4;
float posY = _camera.pixelHeight/2 - size/2;
GUI.Label(new Rect(posX, posY, size, size), "*");
}
void Update() {
if (Input.GetMouseButtonDown(0)) {
Vector3 point = new Vector3(_camera.pixelWidth/2, _camera.pixelHeight/2, 0);
Ray ray = _camera.ScreenPointToRay(point);
RaycastHit hit;
if (Physics.Raycast(ray, out hit)) {
GameObject hitObject = hit.transform.gameObject;
ReactiveTarget target = hitObject.GetComponent<ReactiveTarget>();
if (target != null) {
target.ReactToHit();
} else {
StartCoroutine(SphereIndicator(hit.point));
}
}
}
private IEnumerator SphereIndicator(Vector3 pos) {
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
sphere.transform.position = pos;
yield return new WaitForSeconds(1);
Destroy(sphere);
}
}
Apparently there is an error with 'private' being unexpected and a '(' somewhere. Please help, I've been at this forever...
Answer by Daemonhahn · Feb 14, 2017 at 04:41 PM
You are missing a ')' from the end of your code, add one and it will compile.
Close, it looks like it's a brace } missing from the end of his update.
Answer by HenryStrattonFW · Feb 14, 2017 at 06:41 PM
Your SphereIndicator method is being declared inside your Update method as your update method is missing a closing brace '}'
If you add the closing brace before the deceleration of the SphereIndicator then your braces will match, and you should be ok.
It's always a good idea to check your braces are balanced when you get errors related to unexpected locations. A lot of IDE's like Visual studio and MonoDevelop will actually highlight matching braces if you select one which can be really handy for checking them.
Your answer
Follow this Question
Related Questions
how to fix third person 1 Answer
Compiler Error: unexpected char 1 Answer
Parser error for code... 1 Answer
Input string was not in the correct format 2 Answers
Why do I have 374 compiler errors? 1 Answer