-2

In my code I am trying to check if the player dodges the obstacle and the obstacle goes to the x position of -13 (offscreen). If it does than it should reappear coming in with a random x and y coordinate. I get no errors it just doesn't do the code properly as I intended. Here is my code:

using UnityEngine;
using System.Collections;

public class Obstacle : MonoBehaviour
{
   public GameObject sphere;
   public Vector2 velocity = new Vector2(-4f, 0f);
   public float x_range=0f;
   public float y_range=0f;

   // Use this for initialization
   void Start()
   {
       rigidbody2D.velocity = velocity;
   }

   void update()
   {
       if (transform.position.x < -13f)
       {
           //random x
           x_range=Random.Range(15,30);
           //random y
           y_range=Random.Range(-12,7);
           sphere.transform.position=new Vector3(x_range,y_range,transform.position.z);
        }
    }
}

Again not sure what the issue is. I am using Unity 2d, C#.

CodeSmile
  • 64,284
  • 20
  • 132
  • 217
Jim Larson
  • 57
  • 1
  • 1
  • 8
  • Why do people vote it down instead of trying to help? – Jim Larson Jan 31 '15 at 20:36
  • I'm not sure why you got all the down votes. It would be much more helpful if people giving them would leave a comment and tell why. But about the question: have you checked in the "Scene" view where your script is moving the obstacle. – maZZZu Jan 31 '15 at 21:15
  • Yes I watch the x position/coordinate just go lower than -13 – Jim Larson Jan 31 '15 at 21:38
  • Downvotes might be because of vague description of the problem. You tell what you expect to happen well enough, but "doesn't do the code properly" isn't very revealing. It's better to say what _does_ happen instead. For example, in this case you could say that the object continues to move and the teleport doesn't happen. With some debugging work on your end you could even figure out that `update` is never called, and make an even better question. – 31eee384 Feb 01 '15 at 06:09

1 Answers1

4

C# is case-sensitive, meaning that update and Update are not the same. Unity looks for a method called Update to call each frame, and your update method doesn't match.

Just capitalize that U and you should be good to go!

31eee384
  • 2,748
  • 2
  • 18
  • 27