|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Инвентарь |
Страницы: 1 |
Автор | Сообщение |
GUYVER гроссмейстер Группа: Сообщество GM Сообщений: 148 |
Добавлено: 09-02-2006 17:21 |
На данный момент я могу без проблем делать инвентарь с зарезервированными местами под вещи - его сделать не сложно... Просто напротив вещи пишешь число, которое может быть от 0 до какого-то значения... Например в инвентаре всего 3 вида вещей - это будет 3 глобальных переменных... А вот как мне сделать следующее: Я покупаю пирожок, он отображается в 1 строке инвентаря, покупаю чай - он во второй отображается, булочку - в третьей и т.д. То есть если в 1 строку уже помещён предмет, то следующий предмет помещается уже в следующую строку. Кол-во строк может быть фиксированным - например 4 строки (не > 4 предметов)... Причём сами предметы в инвентаре отображаются не спрайтами, не обьектами, а просто рисуются обычным текстом... А потом я, например, кушаю пирожок, он исчезает из 1 строки, а чай и булочка перемещаются соответственно на 1 и 2 строку... Как это реализовать? С помощью чего? С помощью очередей в Дата-Структурах это возможно? Они ведь могут быть для этого приспособлены? Хелп!!! Может у кого-то есть пример подобного инвентаря, основанного на принципе очерёдности... |
|
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 09-02-2006 20:05 |
Лучше используй списки. Можно большой массив, а потом всё сдвигать. А ты не задумывался, что если у тебя 100 вещей, а отображается всего 10, то куда ты остальные денешь. P.S. А я знаю как... |
|
PaVeLius мастер Группа: Сообщество GM Сообщений: 108 |
Добавлено: 10-02-2006 01:42 |
Обычный массив, в переменной хранишь ссылку на последнию ячейку, при убирания объекта, все последующие просто смещаешь на одну позицию. Если будет время сделаю примерчик | |
BanShee бывалый Группа: Участники Сообщений: 47 |
Добавлено: 10-02-2006 07:26 |
в Draw if global.slotXitem = ID draw_sprite(s_sword,0,10,10) if global.slotXitem = ID draw_sprite(s_bow,0,10,10) if global.slotXitem = ID draw_sprite(s_armor,0,10,10) где X номер слота, ID ид вещи. Или так: draw_sprite(s_items,ID,corx,cory) где ID - ИД вещи, corx и cory коорд. слота вот тока для каждого слота надо свою строку... |
|
GUYVER гроссмейстер Группа: Сообщество GM Сообщений: 148 |
Добавлено: 10-02-2006 15:28 |
Надо попробовать... А насчёт того, что 100 вещей могут не поместиться на экране - у меня будет лимит, например на 10 вещей, как в оригинальной игре... | |
GUYVER гроссмейстер Группа: Сообщество GM Сообщений: 148 |
Добавлено: 10-02-2006 18:43 |
PaVeLius или кто-нить ещё - дайте пример, плиз... Со смещением всех предметов, когда один из них из инвентаря исчезает... С этим у меня как раз проблемы возникли... Вот пример того, что я пытаюсь сделать: скачать файл ГМ6 - около 50 кб Нужно зайти во 2-ой магазин - там продаются такие вещи, как печенье, доширак и вафли, они у меня при покупке отображаются в инвентаре (кнопка Р - инвентарь)... Как при такой системе предметов сделать их смещение? Или как вообще лучше эту систему рациональной сделать, простой - а то я по незнанию кода понаписал километры условий <:о) |
|
Rap_Person мастер Группа: Сообщество GM Сообщений: 121 |
Добавлено: 10-02-2006 19:03 |
сделай массив а при добавлении наращивай переменную-индекс елемента массива а при отображении через цыкл прогоняй массив ща напишу пример | |
FallWolF Grand Admin Группа: Администраторы Сообщений: 1191 |
Добавлено: 10-02-2006 19:05 |
Так инвентарь мне тоже пригодится, для двоих: Конрада и Матвея, у одного будет постоянно пистолет (как и раньше), а у другого - межпространственный телепортер Короче, работать и работать... | |
GUYVER гроссмейстер Группа: Сообщество GM Сообщений: 148 |
Добавлено: 10-02-2006 19:15 |
Массив, шмассив - только и слышно... Мож кто-нить объяснит - что это такое !!! (шучу) :о) Блин, когда я начну учить ГМЛ??? | |
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 10-02-2006 20:21 |
Массив - пронумерованные подряд ячейки памяти. Стек - динамический массив где удаление и добавленик элемнта производится с одной стороны. Список - динамический массив где удаление и добавленик элемнта производится в любом месте. Очередь - динамический массив где добавленик элемнта производится с одной стороны, а удаление сдругой. Вот некоторые разъяснения. В Хэлпе десйствительно не понято что есть что. А Карты - это Хэш. |
|
GUYVER гроссмейстер Группа: Сообщество GM Сообщений: 148 |
Добавлено: 10-02-2006 20:45 |
Мне по сути стек как нельзя лучше подходит, где бы про него прочитать... Не могу в хелпе ничего понять... | |
GUYVER гроссмейстер Группа: Сообщество GM Сообщений: 148 |
Добавлено: 11-02-2006 13:21 |
Вот немного переделал, но осталась проблема... скачать файл ГМ6 - около 52 кб Проблема вот в чём - когда я беру предметы из инвентаря, то при покупке новых, новые предметы заполняют не только пустые ячейки, но и те, в которых есть предметы... Решить проблему пока у меня не получается... Вот если бы при удалении предмета из инвентаря они сразу бы перестраивались, то это бы решило проблему, но я что-то не знаю, как это реализовать... |
|
GUYVER гроссмейстер Группа: Сообщество GM Сообщений: 148 |
Добавлено: 11-02-2006 17:16 |
Ура!!! Мой инвентарь полностью заработал!!! Кому интересно - по ссылке выше он лежит уже исправленный! Всем кто мне помогал - большое спасибо, особенно Rap_Person!!! Инвентарь работает в супермаркете... |
|
Rap_Person мастер Группа: Сообщество GM Сообщений: 121 |
Добавлено: 11-02-2006 17:39 |
WITH GREAT PLEASURE! | |
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 11-02-2006 19:17 |
Лучше карты. Я щас как раз пример инвентаря делаю. |
|
PaVeLius мастер Группа: Сообщество GM Сообщений: 108 |
Добавлено: 12-02-2006 01:22 |
Значит пример тебе уже не нужен? PS Инвентарь с ячейками, если вдруг кому надо(это не то что требуется автору темы) |
|
GUYVER гроссмейстер Группа: Сообщество GM Сообщений: 148 |
Добавлено: 12-02-2006 05:18 |
Круто! Прямо как из диабло 1!!! | |
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 12-02-2006 19:49 |
Типа Diablo forever? Ну теперь смело можно писать на ГМ Diablo 3 с таким то примером. Вещи интересно скэйлются... |
Страницы: 1 |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Инвентарь |