- Home /
Array of gameobjects, loop through and call functions
Hi! I am working on a sidescroller game where all the enemies are to move to the left and have their speed increased periodically to make it look like u are going faster and faster. Here is my code:
private var currSpeed : float = 0;
public var speedIncreasement : float = 0.02;
public var maxSpeed : float = 4;
private var timerIncSpeed : float = 0.0;
public var timerUpdateSpeed : float = 8;
private var keepIncreasing : boolean = true;
private var enemys : GameObject[];
private var environmentObjects : GameObject[];
function Start () {
}
function Update () {
if(keepIncreasing == true){
if(timerIncSpeed <= Time.time){
timerIncSpeed = timerUpdateSpeed + Time.time;
currSpeed += speedIncreasement;
updateSpeedOnObjects();
}
}
if(currSpeed >= maxSpeed){
currSpeed = maxSpeed;
keepIncreasing = false;
}
}
function getSpeed(){
return currSpeed;
}
function updateSpeedOnObjects(){
enemys = GameObject.FindGameObjectsWithTag("Enemy");
environmentObjects = GameObject.FindGameObjectsWithTag("Obstacle");
if(enemys != null){
for(var i:int = 0; i < enemys.length; i++){
enemys[i].gameObject.GetComponent(Enemy).UpdateSpeed(currSpeed);
}
}
if(environmentObjects != null){
for(var y = 0; y < environmentObjects.length; y++){
environmentObjects[y].gameObject.GetComponent(MovingObstacle).UpdateSpeed(currSpeed);
}
}
}
The updateSpeedOnObjects function should find all enemies and put them in an array and then call their functions to update the speed to the recent one. However I get the error message: NullreferenceException: Object reference not set to an instance of an object but it does however seem like some of the enemies actually get updated speed. Please any help would be much appreciated!
Answer by perchik · Feb 27, 2014 at 07:20 PM
Well, with all NRE errors, you're trying to access something that doesn't exist. In this case it looks like either:
Not everything with the enemy tag actually has the Enemy script.
Not everything tagged Obstalce has a MovingObstacle component
Your answer
Follow this Question
Related Questions
Function like string.IsNullOrEmpty(var) but for arrays 1 Answer
String Arrays in a function 0 Answers
Access function from script of all children? 4 Answers
transform array in javascript 2 Answers
problem accesing arrays 2 Answers