Hi
I’m new to coding and I’m doing Walker Boys Mario Clone 2D Lab 4 tutorial and although I’m doing the exact things in the videos, I’m getting errors that i could fix.
in the enemyGumba script, everything was working well until when I added the switch ( gumbaState ) case, i start to get these errors
Assets/2D Mario Assets/Scripts/enemyGumba.js(87,13): BCE0043: Unexpected token: else.
Assets/2D Mario Assets/Scripts/enemyGumba.js(90,13): BCE0044: expecting }, found ‘case’.
Assets/2D Mario Assets/Scripts/enemyGumba.js(90,37): BCE0043: Unexpected token: :.
Assets/2D Mario Assets/Scripts/enemyGumba.js(90,38): UCE0001: ‘;’ expected. Insert a semicolon at the end.
Assets/2D Mario Assets/Scripts/enemyGumba.js(96,13): BCE0044: expecting }, found ‘case’.
Assets/2D Mario Assets/Scripts/enemyGumba.js(96,38): BCE0043: Unexpected token: :.
Assets/2D Mario Assets/Scripts/enemyGumba.js(96,39): UCE0001: ‘;’ expected. Insert a semicolon at the end.
Assets/2D Mario Assets/Scripts/enemyGumba.js(102,13): BCE0044: expecting EOF, found ‘case’.
when i identify the gumbaState, the errors reduced to the these 3:
Assets/2D Mario Assets/Scripts/enemyGumba.js(37,11): BCE0044: expecting (, found ‘Start’.
Assets/2D Mario Assets/Scripts/enemyGumba.js(37,16): UCE0001: ‘;’ expected. Insert a semicolon at the end.
Assets/2D Mario Assets/Scripts/enemyGumba.js(37,17): BCE0044: expecting EOF, found ‘(’.
here is the script
// Gumba Controller
// Walker Boys (www.walkerboyesstudio.com)
// Description: Control component enemy gumba logic, options & properties
var moveSpeed : float = 20.0;
var attackMoveSpeed : float = 35.0;
var jumpSpeed : float = 3.0;
enum GumbaState { moveLeft = 0, moveRight= 1, moveStop= 2, jumpAir= 3, enemyDie= 4, goHome= 5}
var gumbaState = GumbaState.moveLeft;
var attackRange : float = 1.0;
var searchRange : float = 3.0;
var returnHomeRange : float = 4.0;
var changeDirectionDistance : float = 1.0;
var chaseTarget : Transform;
var homePosition : Transform;
var deathForce : float = 3.0;
var gizmoToggle : boolean = true;
var bounceHit : AudioClip;
var velocity : Vector3 = Vector3.zero;
private var gravity : float = 20.0;
private var currentState;
private var aniPlay;
private var isRight : boolean = false;
private var myTransform : Vector3;
private var resetMoveSpeed : float = 0.0;
private var distanceToHome : float = 0.0;
private var distanceToTarget : float = 0.0;
private var controller : CharacterController;
function Start ()
{
myTransform = transform.position;
resetMoveSpeed = moveSpeed;
linkToPlayerProperties = GetComponent ( playerProperties );
controller = GetComponent ( CharacterController );
aniPlay = GetComponent ( aniSprite );
}
function Update ()
{
distanceToTarget = Vector3.Distance ( chaseTarget.transform.position, transform.position );
if (distanceToTarget <= searchRange )
{
ChasePlayer ();
if ( distanceToTarget <= attackRange)
{
ChasePlayer ();
moveSpeed = attackMoveSpeed;
}
else
{
ChasePlayer ();
moveSpeed = resetMoveSpeed;
}
}
else
{
distanceToHome = Vector3.Distance ( homePosition.position, transform.position );
if ( distanceToHome > returnHomeRange )
{
GoHome ();
}
}
if ( controller.isGrounded )
{
switch ( gumbaState )
{
case GumbaState. moveleft:
PatrolLeft ();
break;
case GumbaState. moveRight:
PatrolRight ();
break;
case GumbaState. moveStop:
if ( isRight );
IdelRight ();
else
IdelLeft ();
break;
case GumbaState. jumpAir:
if ( isRight )
JumpRight ();
else
JumpLeft ();
break;
case GumbaState. enemyDie:
if ( isRight )
DieRight ();
else
DieLeft ();
break;
case GumbaState. goHome:
GoHome ();
break;
}
}
velocity.y -= gravity * Time.deltaTime;
controller.Move ( velocity * Time.deltaTime );
}
}