10 глабальных переменных или массив из 10 элементов?
|
|
FxY | Дата: Среда, 19 Марта 2014, 18:59 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Construct 2 Ребят скажите глабальные переменные сильно влияют на программу если их довольно много?Мне просто нравится с ними работать довольно удобно,не скажется ли на производительности количество глобальных переменных?
п.с не троллите меня
Сообщение отредактировал FxY - Среда, 19 Марта 2014, 18:59 |
|
| |
Sanches | Дата: Среда, 19 Марта 2014, 19:25 | Сообщение # 2 |
участник
Сейчас нет на сайте
| Не думаю, что сильно изменится производительность. Массив удобен, если тебе на каждом уровне надо использовать свои переменные, а не какие-то 10 на протяжении всей игры. Хотя, в любом случае, выбор практически ничего не меняет.
|
|
| |
Nick_Rimer | Дата: Среда, 19 Марта 2014, 23:54 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| FxY, мне кажется, примерно одно и то же количество памяти выделяется под переменную и один элемент массива. Думаю, не стоит заморачиваться на этот счёт, но! Массив в С2 динамический, т.е. его размер можно менять по ходу, это значит, что память под новые элементы будет выделяться по мере необходимости - по мере поступления таковых. Что я имею в виду: если нам нужно 10 (да хоть 100) значений, но они не даны сразу, а появляются последовательно в игре, можно создать изначально массив с 0 элементов. Каждый раз, получая новое значение, прибавлять 1 размеру массива и записывать значение в массив (для этого для массивов в С2 есть замечательный метод Push, добавляющий за один приём новый элемент в начале или в конце массива). Ненужные по ходу элементы можно просто удалять! Это также будет освобождать память (если критично).
Удобство массива - хранение однотипных данных под одним именем, к которым быстро можно достучаться по индексу. Т.е. в случае необходимости легко организовать любой цикл, перебирающий элементы, как нам будет угодно. Для переменных так не выйдет, к каждой придётся обращаться отдельно и уникально. Так что всё ещё зависит от конкретных задач и удобства обращения с данными. Здесь выбор за тобой.
Удачи!
- Доброе утро, Агент Пи!
|
|
| |
hero564 | Дата: Четверг, 20 Марта 2014, 00:21 | Сообщение # 4 |
Made in Ukraine
Сейчас нет на сайте
| FxY, массивы очень удобны для использования для операций когда есть большое количество однотипных данных(например строки перевода, значения хар-к и т.п), так как их очень легко обрабатывать циклом изменяя\копируя\отображая содержимое с помощью всего нескольких строчек(в твоем случае блоков),независящего от размера массива, кода.
Сообщение отредактировал hero564 - Четверг, 20 Марта 2014, 00:22 |
|
| |
-l33t-h4xx- | Дата: Четверг, 20 Марта 2014, 06:52 | Сообщение # 5 |
участник
Сейчас нет на сайте
| Надо заметить, к тому же, что многое зависит от твоих целей. Если у тебя сотня переменных с названиями типа Hero1, Hero2, Hero3, ... , HeroN (где на N страшно взглянуть), стоит подумать об использовании массива, а не загрязнять пространство имён всякой дрянью и дальше. Если же каждая глобальная переменная несёт какой-то обособленный смысл, то, занеся их в массив, ты только испортишь себе жизнь.
Как правильно задавать вопросы
Сообщение отредактировал -l33t-h4xx- - Четверг, 20 Марта 2014, 06:52 |
|
| |