2015-01-31 4 views
-2

В моем коде я пытаюсь проверить, уклоняется ли игрок от препятствия, а препятствие переходит в положение x -13 (вне экрана). Если это произойдет, то оно должно появиться со случайной координатой x и y. У меня нет ошибок, он просто не делает код правильно, как я и предполагал. Вот мой код:Переместить весь объект врага в новую точку

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); 
     } 
    } 
} 

Снова не знаю, в чем проблема. Я использую Unity 2d, C#.

+0

Почему люди голосуют за него вместо того, чтобы пытаться помочь? –

+0

Я не уверен, почему вы получили все поданные голоса. Было бы гораздо полезнее, если бы люди, давшие им, оставили комментарий и объяснили бы, почему. Но насчет вопроса: проверили ли вы в режиме «Сцена», где ваш скрипт перемещает препятствие. – maZZZu

+0

Да, я смотрю положение/координату x, просто опускаюсь ниже -13 –

ответ

4

C# чувствителен к регистру, что означает, что update и Update не совпадают. Unity ищет метод под названием Update для вызова каждого кадра, а ваш метод update не соответствует.

Просто используйте этот код U, и вы должны быть добрым!

 Смежные вопросы

  • Нет связанных вопросов^_^