Я хочу генерировать объект в случайных местах, которые могут двигаться с произвольной скоростью по оси X - PullRequest
0 голосов
/ 31 августа 2018

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

Это начало класса, который генерирует 50 объектов, на которые игрок может запрыгнуть при загрузке игры.

void Start () {

Vector2 pos = transform.position;

for(int i = 0; i < noOfHolder; i++)

{ pos.x = Random.Range(-3, 3);

pos.y += Random.Range(1, 5);

Instantiate(holder, pos, Quaternion.identity);

}

и

объект-держатель, к которому он прикреплен, имеет метод.

updatePosition(){
//moveSpeed = Random.Range(1,3);tried this
startingPos.x = moveSpeed * Mathf.Sin(Time.time);//*moveSpeed

transform.position = startingPos;}

​

Этот код может генерировать несколько объектов. но с той же скоростью греха слева направо.

Я меняю скорость движения. Некоторые объекты перемещаются на половину экрана, некоторые заполнены. Я хочу, чтобы все объекты перемещались на весь экран с различной скоростью.

Спасибо, что ответили.

1017 *

1 Ответ

0 голосов
/ 31 августа 2018

используйте это:

void Start()
{
    Vector2 pos = transform.position;
    for(int i = 0; i < noOfHolder; i++)
    {
        pos.x = Random.Range(-3, 3);
        pos.y += Random.Range(1, 5);
        Instantiate(holder, pos, Quaternion.identity);
    }
    moveSpeed = Random.Range(1,3);
    moveDistance = 1.0f;
}

void Update()
{
    startingPos.x = moveDistance * Mathf.Sin(Time.time * moveSpeed);
    transform.position = startingPos;
}

если это не то, что вы хотите, пожалуйста, опишите вашу ситуацию более подробно, и я отредактирую ответ.

...