Вторник, 26 Ноября 2024, 14:32

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Выбор войск
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
  • Страница 1 из 1
  • 1
Поиск:

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