- 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
![](https://koobas.hobune.stream/wayback/20220612111033im_/https://answers.unity.com/themes/thub/images/avi.jpg)
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