- Home /
Can't destroy a script.
Here's a quick refer to my script:
Door:
var door: Transform;
var angleOpen: int;
var angleClose: int;
var speedOpen: int = 1000;
function OnTriggerStay(other:Collider){
if (door.transform.localEulerAngles.y < angleOpen){
door.transform.Rotate(Vector3.up*Time.deltaTime*speedOpen);
}
}
Sound:
function OnTriggerEnter (other:Collider) {
if(!audio.isPlaying) {
audio.Play();
yield WaitForSeconds(2);
Destroy (audio);
Destroy (Script1);
}
}
I created a door and I want to create a sound effect when I open the door, but if I delete Destroy (Script1); then Unity shows an error that it cannot locate the audio to play after it destroys the audio and the game freeze! And if I let Destroy (Script1); there then Unity shows this error: "Assets/Slender game/GameScripts/Sounds/Script1.js(7,13): BCE0023: No appropriate version of 'UnityEngine.Object.Destroy' for the argument list '(System.Type)' was found"
I want to ask that I don't want the sound to be repeated over when I collide the door several times when it has opened but how to delete both of the audio and script that links to the audio to prevent repeated? Are there other alternative ways?
Please help me. Thanks!
Answer by Eric5h5 · Dec 28, 2014 at 05:56 PM
You can't destroy a type; you need to destroy the instance of the script. Use GetComponent or some other method.
Your answer
Follow this Question
Related Questions
Destroy an enemy when it touches an object 2 Answers
Clones of object wont disapear.. 1 Answer
Problem with destroying a gameObject when used with targeting 1 Answer
script dosnt creat object where i want it to 1 Answer
How could I get a selection set of GameObject sharing a material or a script in Editor? 1 Answer