Понедельник, 25 Ноября 2024, 16:56

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
10 глабальных переменных или массив из 10 элементов?
FxYДата: Среда, 19 Марта 2014, 18:59 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Construct 2
Ребят скажите глабальные переменные сильно влияют на программу если их довольно много?Мне просто нравится с ними работать довольно удобно,не скажется ли на производительности количество глобальных переменных?

п.с не троллите меня happy


Сообщение отредактировал 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
  • Страница 1 из 1
  • 1
Поиск:

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