Среда, 27 Ноября 2024, 08:09

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Заполнение сцены 2D пребафами
ZeditezДата: Суббота, 03 Января 2015, 16:03 | Сообщение # 1
уже был
Сейчас нет на сайте
Всем привет. Есть проблема: как заполнить сцену 2D пребафами с верхнего левого угла до нижнего правого. Размер экрана 512x512, размер пребафов 32x32? Нужно создать скрипт.


Язык программирования - JavaScript. В Unity API почти совсем не шарю sad
Толкните в нужном направлении хотя бы.


Сообщение отредактировал Zeditez - Суббота, 03 Января 2015, 16:07
FrostenДата: Суббота, 03 Января 2015, 16:30 | Сообщение # 2
частый гость
Сейчас нет на сайте
Я на с# написал т.к не знаю яву, но там принцип один, нужно делать все через цикл.
X и Y - начальные координаты префаба (0;0).

for (int j = 0; j <= 16;j++)
{

for(int i =0;i<=16;i++)
{
Instantiate(prefab, new Vector3(x, y, 0), transform.rotation);
x += 32;

}
y += 32;

}
ZeditezДата: Суббота, 03 Января 2015, 16:41 | Сообщение # 3
уже был
Сейчас нет на сайте
Frosten, создавать то создает инстансы префабов, но вот проблема с координатами. Первый префаб создается прямо по центру экрана, а остальные уже черти где, ибо у камеры какие-то левые координаты краёв вообще)
FrostenДата: Суббота, 03 Января 2015, 17:24 | Сообщение # 4
частый гость
Сейчас нет на сайте
Цитата Zeditez ()
создавать то создает инстансы префабов, но вот проблема с координатами. Первый префаб создается прямо по центру экрана, а остальные уже черти где, ибо у камеры какие-то левые координаты краёв вообще)

Да, я чет забыл, что в юнити координаты не по пикселям камеры, вот так тогда

for (int j = 0; j <= 16;j++)
{
Vector3 screenpoint = new Vector3(x, y, 0);
Vector3 worldPos = Camera.main.ScreenToWorldPoint(screenpoint);
for(int i =0;i<=16;i++)
{
Instantiate(prefab, worldPos, transform.rotation);
x += 32;

}
y += 32;

}
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг