- Home /
Question by
rdgorodrigo · Jul 27, 2015 at 10:46 AM ·
javascriptbeginnerstatic
Static Variables Issue
I want to change all the problematic static variables to non static, but I can't seem to make it work, I've already tryed with the http://docs.unity3d.com/410/Documentation/ScriptReference/index.Accessing_Other_Game_Objects.html without success.
Script I want to change:
#pragma strict
var playerTransform : Transform; //Store the player transform
var theTextComponent : UI.Text;
function Start () {
playerTransform = gameObject.Find("Rabbit").transform;
}
function OnTriggerEnter (other : Collider) {
//Is it the Player who enters the collider?
if (!other.CompareTag("Player"))
return; //If it's not the player dont continue
//Is this transform equal to the transform of checkpointArrays[currentCheckpoint]?
if (transform == playerTransform.GetComponent(CarCheckpoint).checkPointArray[CarCheckpoint.currentCheckpoint].transform) {
//Check so we dont exceed our checkpoint quantity
if (CarCheckpoint.currentCheckpoint + 1<playerTransform.GetComponent(CarCheckpoint).checkPointArray.length) {
//Add to currentLap if currentCheckpoint is 0
if(CarCheckpoint.currentCheckpoint == 0)
CarCheckpoint.currentLap++;
CarCheckpoint.currentCheckpoint++;
} else {
//If we dont have any Checkpoints left, go back to 0
CarCheckpoint.currentCheckpoint = 0;
}
visualAid(); //Run a coroutine to update the visual aid of our Checkpoints
//Update the 3dtext
theTextComponent.text = "Checkpoint: "+(CarCheckpoint.currentCheckpoint)+" Lap: "+(CarCheckpoint.currentLap);
}
}
function visualAid () {
//Set a simple visual aid for the Checkpoints
for (objAlpha in playerTransform.GetComponent(CarCheckpoint).checkPointArray) {
objAlpha.GetComponent.<Renderer>().material.color.a = 0.2;
}
playerTransform.GetComponent(CarCheckpoint).checkPointArray[CarCheckpoint.currentCheckpoint].GetComponent.<Renderer>().material.color.a = 0.8;
}
Script to reference from:
#pragma strict
var checkPointArray : Transform[]; //Checkpoint GameObjects stored as an array
static var currentCheckpoint : int = 0; //Current checkpoint
static var currentLap : int = 0; //Current lap
static var startPos : Vector3; //Starting position
function Start () {
//Set a simple visual aid for the Checkpoints
for (objAlpha in checkPointArray) {
objAlpha.GetComponent.<Renderer>().material.color.a = 0.2;
}
checkPointArray[0].GetComponent.<Renderer>().material.color.a = 0.8;
//Store the starting position of the player
startPos = transform.position;
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220611233158im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Randomise pixel offset to create TV static effect 1 Answer
Weird Code Error Message 2 Answers
Why won't my guy move forward/back? 2 Answers
Enemy spawn script/player position(java/js) 1 Answer
What is causing my AI script to interpret wrong data? 1 Answer