Понедельник, 11 Ноября 2024, 10:19

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Инвентарь.
Veliky_VirusДата: Пятница, 16 Июля 2010, 03:52 | Сообщение # 1
ДьявоЛ
Сейчас нет на сайте
И так. Мне захотелось (чисто для своего опыта) сделать инвентарь. (не текстовый) Я его в принципе сделал. Но надо бы чтобы при столковении героя с предметом ложилось в инвентарь.
Я сделал только при нажатии на предмет он удерживался на мышке и клался в открытый инвентарь.
Вот исходник.

Заранее спасибо!

Сообщение отредактировал Veliky_Virus - Пятница, 16 Июля 2010, 04:02
NeZnayuДата: Пятница, 16 Июля 2010, 11:57 | Сообщение # 2
__танцуй!__
Сейчас нет на сайте
Исходник к сожалению посмотреть не могу, но инвентарь надо делать через массив или дата-структуру, иначе получится фигня (т.е. например делать ячейки отдельными объектами - это не инвентарь)
Вообще рекомендую осваивать массивы - очень полезная штука.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
DecedentДата: Пятница, 16 Июля 2010, 12:24 | Сообщение # 3
почетный гость
Сейчас нет на сайте
А можно пример для ну совсем имбецилов (в смысле закомментированный, разжеванный, для нуба в общем). Даже не пример а урок по работе с массивами в разных случаях. Полистал документацию, что делают массивы понял, а на практике ничерта не понятно зачем они это делают.
В общем урок по массивам для ньюбаев вантед.
NeZnayuДата: Пятница, 16 Июля 2010, 12:40 | Сообщение # 4
__танцуй!__
Сейчас нет на сайте
И так мини-урок smile
Под рукой нет ГМ буду писать "по приборам" )
Вообще не знаю будет ли это реально полезно, комментарии ставить не буду для пущего "обучающего" эффекта.

Открываем пустой проект, создаем объект. У него в create пишем:

i=0
massiv_max=6
massiv[0]="Monday"
massiv[1]="Tuesday"
massiv[2]="Wednesday"
massiv[3]="Thursday"
massiv[4]="Friday"
massiv[5]="Saturday"
massiv[6]="Sunday"

В событии нажатия кнопки вниз (keyboard pressed <down>)

if i<massiv_max
i+=1
else
i=0

В кнопке вверх:

if i>0
i-=1
else
i=massiv_max

В draw:

draw_text(0,0,"Week day: "+massiv[i])

Сохраняем, запускаем, тыкаем вверх-вниз.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
(_Meloman_)Дата: Пятница, 16 Июля 2010, 12:48 | Сообщение # 5
участник
Сейчас нет на сайте
хм... да полезный мини-урок, спс
до массивов я ещё не дополз happy
но ты забыл комнату добавить biggrin


NeZnayuДата: Пятница, 16 Июля 2010, 13:01 | Сообщение # 6
__танцуй!__
Сейчас нет на сайте
Тут простой одномерный массив ячейки прокручиваются по очереди, есть еще двумерные массивы - там для каждой ячейки можно создавать "под-ячейки" и прокручивать их отдельно.
На двумерных массивах можно сделать фактически все что угодно от системы оружия и инвентаря до записи и сохранения карт уровней.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу


Сообщение отредактировал NeZnayu - Пятница, 16 Июля 2010, 13:04
DecedentДата: Пятница, 16 Июля 2010, 13:09 | Сообщение # 7
почетный гость
Сейчас нет на сайте
NeZnayu, хм, урок-то полезный, но я немного не об этом.
Мне более интересна практическая ценность, с механикой я разобрался. Вот человеку нужно использовать массивы для создания ячеек инвентаря, еще можно для реализации "колоды карт" в карточной игре, еще для чего-то. Меня это интересует. Где стоит применять массивы, а где не стоит, и почему именно массивы а не, скажем, переменные.

Для наглядности:
Гвозди забивают молотком. Хотя можно и шурупы забивать молотком. Но мало мальски понимающий человек возьмет отвертку и закрутит а не задолбит. Вот я как раз ничего не понимаю в молотках и шурупах, поэтому мне нужно понять почему шуруп все таки нужно закручивать отверткой, а гвозди забивать молотком.

NeZnayuДата: Пятница, 16 Июля 2010, 13:16 | Сообщение # 8
__танцуй!__
Сейчас нет на сайте
Удобство массивов состоит в том что они хранят данные под порядковыми номерами (ака индексы) в отличие от переменных, где нужно указывать отдельное имя для каждой.

Попробуй мой пример выше сделать при помощи обычных переменных - думаю сразу поймешь почему массивы рулят wink


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
lumennesДата: Пятница, 16 Июля 2010, 13:43 | Сообщение # 9
Убийца Diablo
Сейчас нет на сайте
Да, с массивами урок был полезный. Сейчас думаю с помощью их сделать редактор карт, который бы записывал данные в txt файл и из него же читалось. В общем спасибо что разъяснил:)

Как мало вы знаете, как громко вы судите...
Veliky_VirusДата: Пятница, 16 Июля 2010, 16:12 | Сообщение # 10
ДьявоЛ
Сейчас нет на сайте
И чтоже это получается? Я незнаю как написать чтобы при столкновении с предметом ложилось в инвентарь. И всё.
DecedentДата: Суббота, 17 Июля 2010, 11:53 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Create обьекта player:
massive_items[0]=noitem //тут индекс это название ячейки. можно например написать massive_items[left_arm]=noitem
massive_items[1]=noitem
massive_items[2]=noitem
massive_items[3]=noitem
massive_items[4]=noitem
massive_items[5]=noitem

Collision итема с обьектом player:
instance_destroy()
massive_items[0]=item1 //тут индекс это ячейка в которую ложится итем и собственно название итема

FedenkoVadikДата: Суббота, 17 Июля 2010, 14:55 | Сообщение # 12
Level 5 Gentleman
Сейчас нет на сайте
а поему обычные массивы это аналог (упрощенный) списка, а двумерные - это как (упрощенная) сетка... хм... жаль в ГМ нет тремерных массивов...
Veliky_VirusДата: Суббота, 17 Июля 2010, 21:58 | Сообщение # 13
ДьявоЛ
Сейчас нет на сайте
Вообще ничего не понял wacko
SaracenДата: Воскресенье, 18 Июля 2010, 13:03 | Сообщение # 14
участник
Сейчас нет на сайте

Сперва разберись в массивах, а уже потом пытайся понимать wink
  • Страница 1 из 1
  • 1
Поиск:

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