- Home /
Clones of enemies will not shoot
Currently in my game I'm creating clones of enemies and they are supposed to be shooting with specific time variables. I am currently calling the specific name of their object and I'm telling the game to spawn projectiles in front of them as they move. I'll post the code, but they are currently not shooting at all and I was wondering what's going on? My game objects are stored in an array and so the enemy[0] is calling that specific enemy and telling it to shoot.
var enemyProjectile : Transform;
var shootCoolDown : float;
var shootTimer : float; //Records how much time between shots
function shootLazer() {
shootTimer += Time.deltaTime;
if (shootTimer < shootCoolDown) {
return;
}
if(gameObject.name == ("Enemy_Pink(Clone)")) {
shootCoolDown = 1.75;
shootTimer = 0; //Reset Timer
var pinkClone : Transform;
var pinkProjectileOriginX = enemy[0].transform.position.x;
var pinkProjectileOriginY = enemy[0].transform.position.y - 1;
var pinkProjectileOriginZ = enemy[0].transform.position.z;
pinkClone = Instantiate(enemyProjectile, Vector3(pinkProjectileOriginX, pinkProjectileOriginY, pinkProjectileOriginZ), transform.rotation);
pinkClone.rigidbody.AddForce(pinkClone.transform.up * -300);
Destroy(pinkClone.gameObject, 2);
}
if(gameObject.name == ("Enemy_Blue(Clone)")) {
shootCoolDown = 1.5;
shootTimer = 0; //Reset Timer
var blueClone : Transform;
var blueProjectileOriginX = enemy[1].transform.position.x;
var blueProjectileOriginY = enemy[1].transform.position.y - 1;
var blueProjectileOriginZ = enemy[1].transform.position.z;
blueClone = Instantiate(enemyProjectile, Vector3(blueProjectileOriginX, blueProjectileOriginY, blueProjectileOriginZ), transform.rotation);
blueClone.rigidbody.AddForce(blueClone.transform.up * -300);
Destroy(blueClone.gameObject, 2);
}
if(gameObject.name == ("Enemy_Red(Clone)")) {
shootCoolDown = 1.25;
shootTimer = 0; //Reset Timer
var redClone : Transform;
var redProjectileOriginX = enemy[2].transform.position.x;
var redProjectileOriginY = enemy[2].transform.position.y - 1;
var redProjectileOriginZ = enemy[2].transform.position.z;
redClone = Instantiate(enemyProjectile, Vector3(redProjectileOriginX, redProjectileOriginY, redProjectileOriginZ), transform.rotation);
redClone.rigidbody.AddForce(redClone.transform.up * -300);
Destroy(redClone.gameObject, 2);
}
}
Any errors or warnings when the clones should shoot? Perhaps "enemyProjectile" isn't set for the clones (at last I don't see the variable ever being set in the code above unless you did it in the editor via preFabs..)
Your answer
Follow this Question
Related Questions
Enemy fire does not propel in any direction? 1 Answer
Enemy AI problem 1 Answer
Enemies Shoot Towards Face, Would Like to have them Shoot to Chest 1 Answer
How to stop enemies from shooting each other 1 Answer
Make enemy more intelligent 0 Answers