I got "Your not allowed to call this function..." in this code:

Hello, I got the error “UnityException: You are not allowed to call this function when declaring a variable.
Move it to the line after without a variable declaration.
If you are using C# don’t use this function in the constructor or field initializers, Instead move initialization to the Awake or Start function.
controlBola…ctor () (at Assets/controlBola.js:10)” in this code:

#pragma strict
//Fuerza aplicada al mover la bola:
var fuerza:float=5;
//Banderas de movimiento:
var izq:boolean=false;
var der:boolean=false;
var arr:boolean=false;
var aba:boolean=false;
//Referencia para la camara:
var camTransform : Transform=Camera.main.transform;
//Direccion relativa de movimiento (depende de la camara):
var izqRelativo:Vector3=camTransform.TransformDirection(Vector3.left);
var derRelativo:Vector3=camTransform.TransformDirection(Vector3.right);
var delRelativo:Vector3=camTransform.TransformDirection(Vector3.forward);
var detRelativo:Vector3=camTransform.TransformDirection(-Vector3.forward);
function FixedUpdate () {
function verificarTeclasPresionadas()
	if(Input.GetKeyDown("a")||Input.GetKeyDown("left")) izq=true;
	if(Input.GetKeyDown("d")||Input.GetKeyDown("right")) der=true;
	if(Input.GetKeyDown("w")||Input.GetKeyDown("up")) arr=true;
	if(Input.GetKeyDown("s")||Input.GetKeyDown("down")) aba=true;
function verificarTeclasLiberadas()
	if(Input.GetKeyUp("a")||Input.GetKeyUp("left")) izq=false;
	if(Input.GetKeyUp("d")||Input.GetKeyUp("right")) der=false;
	if(Input.GetKeyUp("w")||Input.GetKeyUp("up")) arr=false;
	if(Input.GetKeyUp("s")||Input.GetKeyUp("down")) aba=false;
function aplicarFuerzas()
	if(izq)  rigidbody.AddForce(izqRelativo*fuerza);
	if(der) rigidbody.AddForce(derRelativo*fuerza);
	if(arr)  rigidbody.AddForce(delRelativo*fuerza);
	if(aba) rigidbody.AddForce(detRelativo*fuerza);

I really don´t know why is this because I checked the example on the offical documentation and it’s this:

// Calculate the x-axis relative to the camera
var cam : Transform = Camera.main.transform;
var cameraRelativeRight : Vector3 = cam.TransformDirection (Vector3.right);
// Apply a force relative to the camera's x-axis
rigidbody.AddForce (cameraRelativeRight * 10);

Many thanks.

You must not run any code outside functions. Only declare variables outside functions. The code example in the documentation is assumed to be inside a function. If you want camTransform as a global variable, then declare it outside any functions:

var camTransform : Transform;

Then run code inside a function:

function Start () {
    camTransform = Camera.main.transform;

Also, do not use FixedUpdate for anything except physics. Only use Update for checking input; it will not work right in FixedUpdate since you will miss KeyDown/KeyUp events. It’s better to use enums (KeyCode.A) instead of strings (“a”) for input functions. Although you’d often be better off with GetButton instead of hard-coding input keys, since that won’t work on all keyboards (WASD is no good on AZERTY keyboards, for example).