- Home /
Unexpected symbol 'void' C#
Here is the script.(Please note most of the code is probably wrong, I'm still new to C#. I can figure all of that out on my own later, except for the problem I'm posting about)
using UnityEngine;
using System.Collections;
public class Flicker : MonoBehaviour {
// Use this for initialization
void Start () {
transform.light.intensity = 0.39;
}
}
// Update is called once per frame
void Update () {
waitForSeconds(1);
transform.light.intensity = 0.00;
waitForSeconds(0.3);
transform.light.intensity = 0.39;
}
On the first line is says: Unexpected symbol 'void'
I think there's something wrong with waitForSeconds(1);
. I'm not that good too but I think it should be new WaitForSeconds(1f);
Practice yourself putting f if it's float in C#.
Answer by robertbu · Jan 16, 2014 at 05:04 AM
There are several issues here. The one you are struggling with is caused by line 12. This '}' is closing off the 'class', so all the lines beyond are being treated as outside the class. You can fix this one by moving it from line 12 to line 22. The next problem is that in C#, you have to have an 'f' after any floats since floating point numbers are doubles by default in C#, but standard Unity functions all use floats.
The next problem is not easily solved. You cannot yield in Update() nor do you yield in the way you've tried here (which is what you are trying to do with WaitForSeconds). That is true of Javascript as well. You need to study how to do Coroutines in C#:
http://unitygems.com/coroutines/
http://docs.unity3d.com/Documentation/Manual/Coroutines.html
Also C# and Javascript are case sensitive, and 'waitForSeconds' should be 'WaitForSeconds'.
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
Unexpected Symbol '_toon = new PlayerChar' 1 Answer
CS1525: 60,68 Unexpected symbol MatchMaxPlayers 1 Answer
Enexpected Symbol Void (start) 1 Answer