Доброго времени суток форумчане! Как сделать чтобы префабы появлялись в зоне красного квадрата, и пото падали вниз? http://s1.uploadpics.ru/images/WJuSYRD_sZ.png
public Transform borderUp; public Transform borderD; public Transform borderL; public Transform borderR;
void Start () { InvokeRepeating("Spawn", 2, 3); }
void Spawn() { int x = (int)Random.Range(borderL.position.x, borderR.position.x);
int y = (int)Random.Range(borderD.position.y, borderUp.position.y);
Instantiate(prefabs, new Vector2(x, y), Quaternion.identity);
} }
все Transform это края твоего квадрата,можно сделать из простых Game0bject + BoxCollider вытянув BoxCollider- ы соединив чтоб был квадрат(borderUp вытянутая горизонтальная плашка (вытянутая по BoxCollider), borderL левая вертикальная,чтоб получился квадрат, в центре рандом из префабов, как вариант задать заранее массу к префабам зону появления можно задать где угодно таким способом + размеры самой зоны появления в ней префабов.
Сообщение отредактировал valera_za - Среда, 02 Ноября 2016, 16:46
А можно просто сделать один BoxCollider, ткнуть галку isTrigger (чтобы не работала физика) и взять его half-Extends, зачем плодить переменные?
Щас подъедет кто-нибудь с ещё более адекватным решением.
Так что сразу ещё одно решение, которое менее удобно для редактирования, но без BoxCollider: Сделать две переменные типа float, аналог half-extends у BoxCollider, и от центра transform отсчитывать рандомные координаты в их пределах. Растянуть такое дело ручками из редактора, конечно, не получится, если не написать расширение.
valera_za, с трансформами удобно конечно растягивать, но в 2D так же удобно по-моему и с BoxCollider (я в 2D не работаю, но вроде там есть такие штучки, за которые просто тянешь и всё), однако оба решения избыточны. В идеале, как я говорю, написать своё расширение для редактора, однако здесь это вряд ли имеет смысл. Долгожданный анонсик: State of War
EchoIT, ну да у меня для 2D изначально,я не стал писать (BoxCollider ...потому что подумал что может быть 3D а там я не знаю как , но подумал что будит работать.я тоже думаю что здесь это не имеет смысла.но мало ли может кто чего и напишет.мне просто так было удобно пользоваться