- Home /
Trigger Animation doesn't work, please help me.
Hi,
I want to trigger an animation(tk2d Animated Sprite) also I have a shaman and gold on screen.When gold touched a shaman, gold is destroyed but I can't see animation.I want to gold touched a shaman, gold is destroy and "golddestroy" animation.
I take it my shaman object is "goldshaman" tag and animated sprite,shaman and gold has a sphere collider and trigger is a selected. I take a one error. Error is a " NullReferenceException: Object reference not set to an instance of an object"
Here is the code:
public class col : MonoBehaviour {
tk2dAnimatedSprite animSprite;
// Use this for initialization void Start () {
animSprite = GetComponent<tk2dAnimatedSprite>();
}
// Update is called once per frame void Update () {
}
void OnTriggerEnter(Collider collision)
{
if (collision.gameObject.tag == "goldshaman")
{
animSprite.Play("golddestroy");
}
}
}
Please help me Thank you :)
Answer by TonyLi · Jul 29, 2013 at 02:01 PM
When posting code, please click the code button ("101 / 010") first. It makes the code more readable.
The NullReferenceException probably means animSprite is null.
Whenever you try to get a reference to something, check its value afterwards. Change your Start() method to this:
void Start () {
animSprite = GetComponent<tk2dAnimatedSprite>();
if (animSprite == null) {
Debug.LogError("Did not find tk2dAnimatedSprite on " + gameObject.name);
}
}
If you get the message "Did not find tk2dAnimationSprite...", then you need to make sure there's a tk2dAnimatedSprite on the game object. Otherwise you can't play an animation on it.
Your answer
Follow this Question
Related Questions
Destroying object when player walks over it 1 Answer
Instantiate 1 object after 2 objects collide. ( C# ) 1 Answer
Play annimation on collision not working. 1 Answer
2D Sprite Collision with 3D Object 1 Answer
How To Play Animation 1 Answer