Выбор войск
|
|
Valik_Fenko | Дата: Понедельник, 30 Мая 2016, 19:22 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| В общем Ray.cast'от я узнал точки в трехмерном пространсве на карте.Нужно между ними растануть прямоугольник(растянуть куб).Чтобы потом проверить коллизию юнитов в этой области.Как мне это сделать?.Или мб можно по другому узнать что есть юниты между x1,y1 и x2,y2
|
|
| |
Barbatos | Дата: Понедельник, 30 Мая 2016, 19:33 | Сообщение # 2 |
3D-моделлер/Руководитель
Сейчас нет на сайте
| Тут есть ответ.
Тут готовый скрипт.
Его остатки и на хлеб не намазать. Мой тебе совет Пабло - относись к жизни как к веселухе, но непродолжительной. @Эш
Сообщение отредактировал Barbatos - Понедельник, 30 Мая 2016, 19:34 |
|
| |
Valik_Fenko | Дата: Понедельник, 30 Мая 2016, 20:17 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Я ничиго не смог там разобрать.Можете просто объяснить. Вот есть 4 координаты x1,x2,y1,y2. Как можно определить что юнит входить в эту область?
|
|
| |
beril | Дата: Понедельник, 30 Мая 2016, 21:26 | Сообщение # 4 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Глянь это
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
Valik_Fenko | Дата: Вторник, 31 Мая 2016, 13:17 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| Во пасиб,детальней расписано.всем+сик)
Добавлено (31 мая 2016, 13:17) --------------------------------------------- Так нужно помощь: public List<GameObject> unit_prefab;//префабы юнитов public static List<GameObject> unit;//список созданых юнитов Функция создания юнитов:
Код public void AddUnit(GameObject type,Vector3 pos) { GameObject tmp_; tmp_ = Instantiate(type) as GameObject; tmp_.transform.position = pos; unit.Add(tmp_); }
Ругается вот на эту строчку "unit.Add(tmp_);" Пишет такое NullReferenceException: Object reference not set to an instance of an object. Мне нужно чтоб когда мы создали объект он записывался в List.Почему он ругается?
Сообщение отредактировал Valik_Fenko - Вторник, 31 Мая 2016, 13:19 |
|
| |
Barbatos | Дата: Вторник, 31 Мая 2016, 13:38 | Сообщение # 6 |
3D-моделлер/Руководитель
Сейчас нет на сайте
| Valik_Fenko, Это ошибка означает, что tmp_ пустой. Скорее всего Instantiate(type) as GameObject неправильно заполнен. И почему public static List?
Его остатки и на хлеб не намазать. Мой тебе совет Пабло - относись к жизни как к веселухе, но непродолжительной. @Эш
Сообщение отредактировал Barbatos - Вторник, 31 Мая 2016, 13:40 |
|
| |
Valik_Fenko | Дата: Вторник, 31 Мая 2016, 13:41 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| хмм.А как ты объяснишь это
Код AddUnit(unit_prefab[0],new Vector3(5,0.5f,5)); AddUnit(unit_prefab[1],new Vector3(1,0.5f,1)); Создает только объект который написан выше. Тобишь этот AddUnit(unit_prefab[0],new Vector3(5,0.5f,5))
Добавлено (31 мая 2016, 13:41) --------------------------------------------- Убираю unit.Add(tmp_); - Создает оба объекта. public static List?Ну это массив с юнитами .Вероятно я к нему буду ещё с другого скрипта обращятся(Например скрипт с алгоритмом движения)
если это из-за static я могу всё в один скрипт запихнуть.Так и собирался делать.Прост, разве из-за этого?
Сообщение отредактировал Valik_Fenko - Вторник, 31 Мая 2016, 13:44 |
|
| |
Barbatos | Дата: Вторник, 31 Мая 2016, 14:49 | Сообщение # 8 |
3D-моделлер/Руководитель
Сейчас нет на сайте
| Valik_Fenko, Я на c# работаю, у меня все пашет. Могу только предполагать, что у тебя за проблема. Тут нужно тыкать, пробуй расширить массив и т.п.
Его остатки и на хлеб не намазать. Мой тебе совет Пабло - относись к жизни как к веселухе, но непродолжительной. @Эш
Сообщение отредактировал Barbatos - Вторник, 31 Мая 2016, 14:50 |
|
| |
Valik_Fenko | Дата: Среда, 01 Июня 2016, 17:13 | Сообщение # 9 |
почетный гость
Сейчас нет на сайте
| Разобрался
Сообщение отредактировал Valik_Fenko - Четверг, 02 Июня 2016, 11:55 |
|
| |