- Home /
How To Deactivate Enemy Shooting
For some reason when the enemy and its bullet are set to turn off the bullet keeps shooting in the direction it was when it was turned off, how can I make it so that the bullet stops shooting at the given time. The first script is the shooting script and the second is turning it on/off.
var projectile: Rigidbody;
var speed = 25;
var Player : Transform;
function Start() {
var rendum = Random.Range(1F,3F);
InvokeRepeating("Shuut", 2, rendum);
}
function Update() {
transform.LookAt(Player);
}
function Shuut () {
clone = Instantiate(projectile, transform.position, transform.rotation);
clone.velocity = transform.TransformDirection( Vector3 (0, 0, speed));
Destroy (clone.gameObject, 50);
}
#pragma strict
var enemyonoff : GameObject;
var bulletonoff : GameObject;
private var starttime: boolean = false;
private var time : float;
private var startTime : float;
private var timeRemaining : float;
private var timeStr : String;
function Start () {
enemyonoff = GameObject.FindWithTag("enemy");
bulletonoff = GameObject.FindWithTag("Bullet2");
}
function Update () {
time += Time.deltaTime;
if(time <= 10)
{
enemyonoff.gameObject.SetActive (false);
bulletonoff.gameObject.SetActive (false);
}
if (time >= 11)
{
enemyonoff.gameObject.SetActive (true);
bulletonoff.gameObject.SetActive (true);
}
}
Please post your bullet and enemy code. It doesn't appear that the code here sets the bullet direction.
Also, just a few suggestions that will help you in the long run. Name your variables and use more consistency in general throughout your code. For example, you have startTime but then enemyonoff for two variable names. Generally speaking, enemyonoff is a bad na$$anonymous$$g convention because it is not clear. $$anonymous$$aybe enemyPrefab would be more appropriate. Similarly, one if statement has a space after if while the other doesn't, and you have no spaces in the Shuut function.
If not for your own convenience, taking time to properly space the code will help us read it better, but really it's for the best. Software persons sometimes think "I'll just throw this in and remove it later" and then later never comes, and the code becomes riddled with poor readability, myself included.
Answer by hexagonius · Mar 23, 2015 at 03:59 PM
Convert Start to OnEnabled. Add OnDisabled with a CancelInvoke