Пятница, 29 Ноября 2024, 01:42

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Массив и всё что с ним связано
DimOkДата: Воскресенье, 14 Октября 2012, 11:52 | Сообщение # 1
ONG studio
Сейчас нет на сайте
1. Напишите пожалуйста все команды для массива, например: loopindex ("X") - и то что он даёт
2. Как сохранить массив?
3. Как загрузить массив?
4. Как изменить массив удаляя или создавая объекты?


Активно пользуюсь Godot Engine
AntiAlianKillerДата: Воскресенье, 14 Октября 2012, 13:07 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Хмм... Я исспользую массив для того, чтобы хранить данные об игроках на сервере.
А насчет команд - поройся на закрытом сайте конструкта. Там вроде-бы есть статья о плагине Array.


╔Искусственный интеллект - EVAbot
╠Убийственная музыка - EpicMus
╠Roguelike - Watcher of Dungeon
╠Однокнопочная стратегия - One Button Epic Battle
╠Он-лайн шутер - You Can Not win
╠Текстовый квест - TimeLess
╚Уникальный кликер - MineClick


Сообщение отредактировал AntiAlianKiller - Воскресенье, 14 Октября 2012, 13:08
DimOkДата: Воскресенье, 14 Октября 2012, 13:26 | Сообщение # 3
ONG studio
Сейчас нет на сайте
там почти ничего нет по массиву(

Активно пользуюсь Godot Engine
voltermagДата: Воскресенье, 14 Октября 2012, 19:16 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
1. Массив это таблица. 3D таблица. отсчёт ячеек ведётся с 1, а не с нуля. поэтому нету ячеек: 1,0,1; 0,1,0 и т.д. Если в условии писать "Х=array.currentx ; У=array.currenty equal to 0 " то это будет обозначать следующее: Любая ячейка равно 0, допустим. Действие: array.currentyx; array.currenty set value 1, то та самая ячейка которую выбрал массив и которая равно нулю, станет равна единице и больше не будет использована при повторении этого события.
2. есть действие в массиве, оно сохраняет 3D таблицу в отдельный от экзешника файл
3. то же самое действие, оно обновляет массив, отчищая его(все его ячейки станут равны нулю) и загружая новый массив.
4. эмм.
Code
array.currentx ; array.currenty equal to 1
create object "sprite"; X=array.currentx*16, Y=array.currenty*16

допустим координаты ячейки array.currentx, array.currenty равны = 4, 3 , тогда мы создадим спрайт на координатах 4*16 и 3*16.
НО! если не изменить значение этой ячейки, то спрайты будут создаваться каждый тик игры и фпсник будет яростно падать(либо игра просто не запустится даже не выдав ошибки)
чтобы сохранять значения в определённую ячейку, достаточно просто сделать так:
установить значение ячейки Х либо установить значение ячейки Х, У, либо установить значение Х,У,Z
заметьте, что можно установить один лишь Х как 5, тогда все ячейки на координате Х будут иметь новое установленное значение 5!Соответственно также такая же пропорция х,у к z.Однако если глубина (ширина по оси Z) массива равна 1, то это вам не грозит.
нельзя забывать выражения призыва ячеек:
array(x) использовать как array(ЧИСЛО БЕЗ ВСЯКИХ КОВЫЧЕК) будет призывать все y,z указанного x
array(x, y) заметьте, что нету array(y), это из-за его упрощения. использовать как array(ЧИСЛО БЕЗ КОВЫЧЕК, ЧИСЛО БЕЗ КОВЫЧЕК) будет призывать все z, указанных x и y.
А вообще массив трудно изучать в начале, но потом скажешь: "блин, это же так просто, почему я раньше не додумался???"


Подсказки в ААА играх:
Чтобы убить - стреляйте
Чтобы не убить - не стреляйте
Подсказки в Инди играх:
ыаа ыбб беб ыб
DimOkДата: Воскресенье, 14 Октября 2012, 20:02 | Сообщение # 5
ONG studio
Сейчас нет на сайте
Quote (voltermag)
А вообще массив трудно изучать в начале, но потом скажешь: "блин, это же так просто, почему я раньше не додумался???

это точно. я начал понимать массив!
Тогда чем отличается current от loopindex


Активно пользуюсь Godot Engine
voltermagДата: Воскресенье, 14 Октября 2012, 20:03 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
loopindex не использовал ни разу, поэтому не знаю

Подсказки в ААА играх:
Чтобы убить - стреляйте
Чтобы не убить - не стреляйте
Подсказки в Инди играх:
ыаа ыбб беб ыб
allxumukДата: Воскресенье, 14 Октября 2012, 22:32 | Сообщение # 7
старожил
Сейчас нет на сайте
Quote (DimOk)
Тогда чем отличается current от loopindex

Current - указывает номер ячейки по _, а loopindex - указывает который раз выполняется цикл и к массиву отношения прямого не имеет.


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
DimOkДата: Понедельник, 15 Октября 2012, 21:55 | Сообщение # 8
ONG studio
Сейчас нет на сайте
Теперь оптимизация:
Я не помню где, но был такой исходник с огромным генирирующимся миром(с помощью массива) и его можно изменить, отойти (при этом спрайты удаляются) потом вернуть и спрайты снова появляются в изменённом виде. подскажите ссылку на этот исходник, плизз.
P.S. если что не понятно могу попробовать объяснить лучше.


Активно пользуюсь Godot Engine

Сообщение отредактировал DimOk - Понедельник, 15 Октября 2012, 22:00
voltermagДата: Понедельник, 15 Октября 2012, 22:38 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Да, возможно, я знаю что ты ищешь. На старом форуме были 2-3 статьи-переводы о таких вещах.Статьи переводил музыкант в нашей команде. Когда он будет в сети, я спрошу у него об исходнике.

Подсказки в ААА играх:
Чтобы убить - стреляйте
Чтобы не убить - не стреляйте
Подсказки в Инди играх:
ыаа ыбб беб ыб
DimOkДата: Понедельник, 15 Октября 2012, 22:44 | Сообщение # 10
ONG studio
Сейчас нет на сайте
я сам щас поищу(возможно).

Активно пользуюсь Godot Engine
  • Страница 1 из 1
  • 1
Поиск:

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