• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
Question by emonegarand · Jan 18, 2014 at 12:56 AM · animation2dnullreferenceexceptionanimationclip

Why am I getting a NullReferenceException while trying to set a gameobjects animation frame?

I had been trying to get a score bar made up of sprites to work properly. I have the values converted from my score value into place values for One, Ten, Hundred, Thousand, Ten Thousand, Hundred Thousand and Million all worked out but my script calling for the corresponding GameObject to change its frame to the corresponding frame of animation is giving me a NullReferenceException. How is it not finding the objects I specify? The objects are defined in my gameController script w$$anonymous$$ch I have t$$anonymous$$s script referencing.

Heres my script

 using UnityEngine;
 using System.Collections;
 
 public class ScoreAnimator : MonoBehaviour {
 
     public GameController gameController;
     public GameObject scoreTile;
     private float frameOne;
     private float frameTen;
     private float frameHundred;
     private float frameThousand;
     private float frameTenThousand;
     private float frameHundredThousand;
     private float frameMillion;
     // Use t$$anonymous$$s for initialization
     void Start () 
     {
         GameObject gameControllerObject = GameObject.FindWithTag ("GameController");
         if (gameControllerObject != null)
         {
             gameController = gameControllerObject.GetComponent <GameController>();
         }
         if (gameController == null)
         {
             Debug.Log ("Cannot find 'GameController' script");
         }
 
         updateFrame ();
         frameOne = gameController.one;
         frameTen = gameController.ten;
         frameHundred = gameController.hundred;
         frameThousand = gameController.thousand;
         frameTenThousand = gameController.tenthousand;
         frameHundredThousand = gameController.hundredthousand;
         frameMillion = gameController.million;
     
     }
     
     // Update is called once per frame
     void Update () 
     {
 
     }
     // Update frame of animation for score tiles
     void updateFrame ()
     {
         if (gameObject.name == "One")// Tile for ones place
         {
             animation["scoreIdle"].time = frameOne; animation["scoreIdle"].speed = 0.0f; animation.Play("scoreIdle");
         }
         else if (gameObject.name == "Ten")//Tile for tens place
         {
             animation["scoreIdle"].time = frameTen; animation["scoreIdle"].speed = 0.0f; animation.Play("scoreIdle");
         }
         else if (gameObject.name == "Hundred")//tile for hundreds place
         {
             animation["scoreIdle"].time = frameHundred; animation["scoreIdle"].speed = 0.0f; animation.Play("scoreIdle");
         }
         else if (gameObject.name == "Thousand")//tile for thousands place
         {
             animation["scoreIdle"].time = frameThousand; animation["scoreIdle"].speed = 0.0f; animation.Play("scoreIdle");
         }
         else if (gameObject.name == "TenThousand")//tile for ten thousands place
         {
             animation["scoreIdle"].time = frameTenThousand; animation["scoreIdle"].speed = 0.0f; animation.Play("scoreIdle");
         }
         else if (gameObject.name == "HundredThousand")//tile for hundred thousands place
         {
             animation["scoreIdle"].time = frameHundredThousand; animation["scoreIdle"].speed = 0.0f; animation.Play("scoreIdle");
         }
         else //tile for millions place
             
             animation["scoreIdle"].time = frameMillion; animation["scoreIdle"].speed = 0.0f; animation.Play("scoreIdle");
     }
 }
 
Comment

People who like this

0 Show 0
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

18 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

2D Animation does not start 1 Answer

How to rotate an object using animation clip in opposite direction? 1 Answer

Duplicating and Tweaking Mecanim 2D Animations 1 Answer

Remove unused animation curves? (Animation.Update() optimizing) 1 Answer

Unity2D - Playing animation with separte body parts/Setting Anchor point to sprites for each frame 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges