- Home /
Another Scripting Question
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);
}
}
Answer by syclamoth · Oct 23, 2011 at 10:29 AM
This is almost right, except for two things-
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
Instantiate(bloodSplat, transform.position, Quaternion.identity);
Destroy(gameObject);
without worrying about the other bit (which was the cause of all your woes in the first place).
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
A node in a childnode? 1 Answer
Particle Effects Script 1 Answer
Particle Effect Script Help 1 Answer
Save Position script. 2 Answers