hi i designed a wave spawn script for my 2d side scroll-er the issue i am receiving that i have realised is that my script does not add to the enemies alive value and wen they die it doesn't decrease the value also the value i put in total enemies should spawn when game starts but doesn't any help ? i was finkin maybe to make a new script that is linked to this script on every enemy so when they spawn they add to the count not sure any ideas ?
heres my script:
var location : Transform;
var enemySelect : Rigidbody2D;
var spawn1 : Transform;
var spawn2 : Transform;
var spawn3 : Transform;
var waveTime : float;
var waveLevel : int = 1;
var totalEnemy : int = 5;
var enemyAlive : int = 0;
var waitToWave : float = 10;
var waveMultiplier : int = 2;
var enemy1 : Rigidbody2D;
var enemy2 : Rigidbody2D;
var enemy3 : Rigidbody2D;
function Update () {
if(enemyAlive == 0){ //the is no creature left; create a wave!
waveLevel++;
totalEnemy = totalEnemy * waveMultiplier;
if (waitToWave <= waveTime) {
waveTime = 0; //reset time
enemyAlive = totalEnemy;
Spawn();
for(var i : int = 0; i < totalEnemy; i++)
{
Debug.Log("Creating enemy number: " + i);
}
}else {
waveTime += Time.deltaTime;
}
}
}
function Spawn()
{
//select a random number, inside a maths function absolute command to ensure it is a whole number
var randomPick : int = Mathf.Abs(Random.Range(1,4));
//create a location 'Transform' type variable to store one of 3 possible locations declared at top of script
var location1 : Transform;
var location2 : Transform;
var location3 : Transform;
//check what randomPick is, and select one of the 3 locations, based on that number
if(randomPick == 1){
location = spawn1;
Debug.Log("Choose pos 1");
}
else if(randomPick == 2){
location = spawn2;
Debug.Log("Choose pos 2");
}
else if(randomPick == 3){
location = spawn3;
Debug.Log("Choose pos 3");
}
//select a random number, inside a maths function absolute command to ensure it is a whole number
var randomPickEnemy : int = Mathf.Abs(Random.Range(1,4));
//check what randomPick is, and select one of the 3 locations, based on that number
if(randomPickEnemy == 1){
enemySelect = enemy1;
Debug.Log("Choose pos 1");
}
else if(randomPickEnemy == 2){
enemySelect = enemy2;
Debug.Log("Choose pos 2");
}
else if(randomPickEnemy == 3){
enemySelect = enemy3;
Debug.Log("Choose pos 3");
}
//create the object at point of the location variable
var thingToMake : Rigidbody2D = Instantiate(enemySelect, location.position, location.rotation);
thingToMake.AddForce(Vector3(0,0,100));
//halt script for 1 second before returning to the start of the process
yield WaitForSeconds(1);
}
↧