Полезное

Мы Вконтакте

Discord канал

#
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 176
Привет! Я задумался о том, чем различаются массивы от структур. Как я понял структура - это переменная, которая может содержать в себе несколько разных видов переменных. А массив - это список переменных. Но в ходе моих размышлений я понял, что по сути разницы нет. Если это не так, то пожалуйста объясните мне в чём их отличие? Как это может выражаться в играх? Например, я хочу сделать характеристики персонажа Здоровье и Урон. Я и в массиве их могу сделать и в структуре. В массиве буду обращаться через индексы, а в структуре напрямую через имена переменных.
Аватара пользователя
Пользователь
Сообщения: 2319
массив и структура это совершенно разные вещи...
массив может содержать разное(в тч менять размер массива в рантайме) кол-во обьектов одинакового типа
структура может содержать фиксированное кол-во еллементов разного типа
где и что использовать? это вопрос проектирования и ваш выбор.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 56
Цитата:
Например, я хочу сделать характеристики персонажа Здоровье и Урон. Я и в массиве их могу сделать и в структуре.

Для этого служит класс - сильно напоминает структуру (имеет внутреннюю механику обработки собственных переменных).
Вообще массивы применяются для хранения списка данных (инвентарь например). Структуры же для списка параметров разного типа/назначения, например характеристики итема инвентаря. Структура может иметь все параметры одного типа, но обращаться к ним по индексу невозможно.
Ну и в заключении - инвентарь чаще всего это массива структур/классов(предпочтительно).
Аватара пользователя
Пользователь
Сообщения: 176
А где классы? :) Это blueprint-component?
Аватара пользователя
Пользователь
Сообщения: 56
Цитата:
А где классы?

Классы это практически все. И компоненты в том числе.
По-сути структура тоже класс. Хотя на сколько я понимаю, когда еще не было классов структура была.
Так что класс является наследником структур при появлении ООП.
Аватара пользователя
Пользователь
Сообщения: 56
Класс - чертеж объекта. Объект может быть представленным в пространтстве (наследники Actor) или компонет (наследник Object).

Для справки:
https://docs.unrealengine.com/latest/IN ... pecifiers/
Последний раз редактировалось Calambus 24 май 2017, 08:43, всего редактировалось 1 раз.
Аватара пользователя
Пользователь
Сообщения: 176
Ну, я их могу создать также, как и структуры с массивами? Или это простой Актор в блюпринтах?
Аватара пользователя
Пользователь
Сообщения: 56
Цитата:
Ну, я их могу создать также, как и структуры с массивами? Или это простой Актор в блюпринтах?

Да. Класс создается так же как и все остальное в блупринтах. Нужно просто указать родительский класс: Object,Actor (наследник Object), или их наследников (StaticMeshActor, например).
Аватара пользователя
Пользователь
Сообщения: 176
Спасибо всем!


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница