Установить позицию в произвольном положении на спрайте? - PullRequest
0 голосов
/ 01 ноября 2018

Маленький вопрос. В моей супер маленькой 2d игре я породил некоторых врагов и хотел бы расположить их в произвольном положении над спрайтом прямоугольника. Как я могу подойти к этому? Заранее спасибо!

1 Ответ

0 голосов
/ 01 ноября 2018

получить происхождение вашего прямоугольного спрайта:

Vector2 rectPos = myrectangle.transform.position;

Получите половину ширины / высоты вашего спрайта:

float rectHeight = myrectangle.GetComponent<SpriteRenderer>().sprite.bounds.extents.y;
float rectWidth = myrectangle.GetComponent<SpriteRenderer>().sprite.bounds.extents.x;

получить случайную позицию в пределах границ;

float xpos = rectPos + Random.Range(-rectWidth, rectWidth);
float ypos = rectPos + Random.Range(-rectHeight, rectHeight);

затем установите положение экземпляров объектов с этими компонентами:

enemyPrefab.transform.position = new Vector2(xpos, ypos);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...