- Home /
This post has been wikified, any user with enough reputation can edit it.
Question by
asdfchris3 · Aug 13, 2012 at 09:21 PM ·
javascripterrorbce0043unexpected token
Unexpected token: private. Error. Can anyone help?
pragma strict
function Start ( )
private var doorIsopen : boolean = false;
private var doorTimer : float = 0.0;
private var currentDoor : GameObject;
var doorOpenTime : float = 3.0;
var doorOpenSound : AudioClip;
var doorShutSound : AudioClip;
function Update ( )
{
if (doorIsOpen == true)
{
doorTimer += Time.deltaTime;
if (doorTimer > doorOpenTime)
{
shutdoor( );
doorTimer = 0.0;
}
}
}
function OnControllerColliderHit(hit : ControllerColliderHit)
{
if(hit.gameObject.tag == "outpostDoor" && doorIsOpen == false)
{
OpenDoor( );
}
}
function shutDoor( )
{
Door(doorShutSound, false, "doorshut", currentDoor);
}
function Door(aClip : AudioClip, openCheck : boolean, animName : String, thisDoor : GameObject)
{
audio.PlayOneShot(aClip);
doorIsOpen = openCheck;
thisDoor.transform.parent.animation.Play(animName);
}
function OpenDoor( )
{
currentDoor = hit.gameObject;
Door(doorOpenSound, true, "dooropen", currentDoor);
}
@script RequireComponent(AudioSource)
Comment
Answer by Loius · Aug 13, 2012 at 10:37 PM
Your start function has no body. It needs {curly brackets}.
Where should the curly brackets be located? I'm a amateur to javascript so, I don't understand the purpose of a start function.
Look at your other functions. Go through an actual Unity tutorial - an OFFICIAL one, from the Unity site, under Support. Those explain Unity-specific things (i.e. what Start does) very well.
...
function FunctionName( parameter : Type ) { // code }
Answer by tw1st3d · Aug 13, 2012 at 09:29 PM
I don't think you can use private on an int.
private var doorTimer : float = 0.0;
should be
var doorTimer : float = 0.0;
Yes, you can. And that's not an int.
private var x : Y is fine.