- Home /
 
               Question by 
               Ssali_muhamood123 · Apr 07, 2015 at 08:39 PM · 
                gameobjectfalsetrueleftphase  
              
 
              hi, am getting these two errors
UnityException: Tag: Moveable is not defined! MoveRight.Start () (at Assets/MoveRight.cs:19)
NullReferenceException MoveRight.Update () (at Assets/MoveRight.cs:67)
with the following code
using UnityEngine; using System.Collections;
public class MoveLeft : MonoBehaviour { public Vector3 moveSpeed = new Vector3(); private bool moving = false; private GameObject[] scene; //array of game objects that conform the scene private GameObject bg;
 // Use this for initialization
 void Start()
 {
     scene = GameObject.FindGameObjectsWithTag("Moveable"); //Game objects with Moveable tag
     bg = GameObject.Find("Background"); //Game Background
 }
 
 // Update is called once per frame
 void Update()
 {
     /* Detect touch */
     if (Application.platform == RuntimePlatform.Android)
     {
         if (Input.touchCount > 0)
         {
             if (Input.GetTouch(0).phase == TouchPhase.Began)
             { 
                 CheckTouch(Input.GetTouch(0).position, "began");
             } else if (Input.GetTouch(0).phase == TouchPhase.Ended)
             {
                 CheckTouch(Input.GetTouch(0).position, "ended");
             }
         }
     }
     
     if (Application.platform == RuntimePlatform.OSXEditor)
     {
         if (Input.GetMouseButtonDown(0))
         {
             CheckTouch(Input.mousePosition, "began");
         }
         
         if (Input.GetMouseButtonUp(0))
         {
             CheckTouch(Input.mousePosition, "ended");
         }
     }
     
     // Move if button is pressed
     if (moving && bg.transform.position.x < 4.82f)
     {
         for (int i = 0; i < scene.Length; i++)
         {
             if (scene [i] != null)
             {
                 scene [i].transform.position += moveSpeed;
             }
         }
     }
 }
 
 void CheckTouch(Vector3 pos, string phase)
 {
     Vector3 wp = Camera.main.ScreenToWorldPoint(pos);
     Vector2 touchPos = new Vector2(wp.x, wp.y);
     Collider2D hit = Physics2D.OverlapPoint(touchPos);
     
     if (hit.gameObject.name == "LeftButton" && hit && phase == "began")
     {
         moving = true;
     }
     
     if (hit.gameObject.name == "LeftButton" && hit && phase == "ended")
     {
         moving = false;
     }
 } 
}
               Comment
              
 
               
              Answer by tanoshimi · Apr 07, 2015 at 08:42 PM
The error message is pretty explicit - you haven't got a tag called "Moveable" defined. Therefore scene is null, which is what the second error tells you. 
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                