I have a problem here, i am trying to make a life display with 3 images. when the character touches a trap it has a life deducted.
i have declared the LIVES to be global but when i try to access it using my fpswalker it come with error bce0005 unknown identifier
var health1: Texture2D;// 1 life left
var health2: Texture2D;//2 life left
var health3: Texture2D; //full health
static var LIVES =3; // Global variable(static) - accessible by any script
function Update () {
print("Lives: "+ LIVES + "Hits: "+HITS);
switch(LIVES){
case 3:
guiTexture.texture = health3;
break;
case 2:
guiTexture.texture = health2;
break;
case 1:
guiTexture.texture = health1;
break;
case 0:
//gameover script
break;
}
}
Below is my fpswalker script.
var speed = 6.0;
var jumpSpeed = 8.0;
var gravity = 20.0;
private var moveDirection = Vector3.zero;
private var grounded : boolean = false;
function OnTriggerEnter(hit: Collider){ //hit is a controllercolliderhit type
if(hit.gameObject.tag == "TrapPoison"){
HealthCtrl1.LIVES -=1;
// this is the part getting error when trying to run
}
}
function FixedUpdate() {
if (grounded) {
// We are grounded, so recalculate movedirection directly from axes
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
if (Input.GetButton ("Jump")) {
moveDirection.y = jumpSpeed;
}
}
// Apply gravity
moveDirection.y -= gravity * Time.deltaTime;
// Move the controller
var controller : CharacterController = GetComponent(CharacterController);
var flags = controller.Move(moveDirection * Time.deltaTime);
grounded = (flags & CollisionFlags.CollidedBelow) != 0;
}