I have wrote this script which is why it dosent work. But what I want it to do is spawn a particle effect called blood splat when my cannon ball prefab collides with something that has a tag of “enemy” and then to destroy itself. But I have an error saying “expecting. insert a semicolon at the end” and I cannot fix it, can anyone help me with this?
var blood splat: GameObject;
function OnCollisionEnter (hit:Collison){
if(hit.collider.tag == "enemy"){
var blood splat = Instantiate(blood Splat, transform.position, Quaternion.identity);
Destroy(gameObject);
Destroy(expl, 3);
}
}
1- You have a space in the middle of one of your variable names. Don't do that.
var blood splat : GameObject;
Should be
var bloodSplat : GameObject;
2- Instead of calling the blood splat clone 'expl' like I think you expected to, you are confusing things by copying over the same name-
var blood splat = Instantiate(blood Splat, transform.position, Quaternion.identity);
should be
var expl = Instantiate(bloodSplat, transform.position, Quaternion.identity);
The rest of the script is fine.
Another thing, if your blood splat is a particle effect, you can just check 'AutoDestruct' in the particle animator component, and it will delete itself after it finishes! No need for the 'Destroy(expl, 3);' line. All in all, you could just simplify that entire bit to be more like