2016-06-30 6 views
0

У меня есть доска в единстве3D, и у меня есть куб на борту. У платы есть текстура и смещение текстуры, меняющаяся по координате Y, поэтому кажется, что она движется назад. Куб должен двигаться также с той же скоростью, что и смещение платы, но я не мог установить между ними ту же скорость.Единство - скорость прокрутки текстуры с gameobject

Мой совет код пролистайте:

public class moveBoard : MonoBehaviour 
{ 

// Use this for initialization 
void Start() 
{ 

} 

// Update is called once per frame 
void Update() 
{ 

    this.GetComponent<MeshRenderer>().material.SetTextureOffset("_MainTex", new Vector2(0, -1 * Time.time)); 
} 
} 

И мой куб шаг Код:

public class moveTus : MonoBehaviour 
{ 
public GameObject board; 
float offsetY = 0f; 
// Use this for initialization 
void Start() 
{ 

} 

// Update is called once per frame 
void Update() 
{ 
    this.transform.Translate(Vector3.back * -10 * Time.deltaTime) ; 
} 
} 

Так что мне нужно, чтобы переместить кубик с той же скоростью скорости смещения платы.

ответ

1

Включите переменную общедоступной скорости в оба сценария.

public class moveBoard : MonoBehaviour { public float speed=1; void Update() { this.GetComponent().material.SetTextureOffset("_MainTex", new Vector2(0, -1 * Time.deltaTime * speed * UserOptions.speed)); } }

public class moveTus : MonoBehaviour { public float speed=1; void Update() { this.transform.Translate(Vector3.back * -10 * Time.deltaTime * speed * UserOptions.speed) ; } }

Во время выполнения попытки синхронизации путем изменения любого из этих значений переменных скорости вручную в редакторе Inspector. После того, как вы узнаете точную мелодию между ними, примените эти значения во время разработки.

+0

Вы прав, но пользователь сможет изменить переменные скорости в настройках игры. Таким образом, между ними должна быть идеальная скорость, иначе я не смогу найти ее глазами. –

+0

Вам понадобится статическая переменная где-то, чтобы удерживать скорость, выбранную пользователем. Вы, холодный, умножаете обе скорости. В любом случае вам придется найти эту синхронизацию раньше. – glaubergft

+0

Даже если вы указали скорость синхронизации раньше, если вы измените опциональную скорость, переменная синхронизации должна быть изменена, иначе мы снова увидим разницу. –