Создание простого инвентаря на Game Maker. Часть 2.
Всем снова здравствуйте! С вами Fade. В этой части урока мы с вами продолжим создание инвентаря. В первой части мы познакомились с основами инвентаря и простейшей его реализацией. Итак, чем мы займёмся.. Проведём оптимизацию инвентаря и реализуем складывание вещей в стопку. Это всё можно будет сделать всего-лишь одним объектом, ну и, конечно же, предметами, нажимая на которые, они будут добавляться в инвентарь. Основы создания, надеюсь, вы поняли, поэтому расскажу коротко. Как обычно создаём новый проект, создаём наш старый знакомый объект inv, и в Create пишем такой вот код:
Code
w = 3; h = 3; for(i = 0; i < w; i += 1) { for(j = 0; j < h; j += 1) { Spr[i, j] = -1; Amount[i, j] = 1; } }
Получив знания с первого урока, я думаю, вы знаете, за что отвечает каждая строка данного кода. Но, как мы видим, код дополнен двумя строками. Давайте их разберём. Spr[i, j] = -1; Эта строка отвечает за спрайт объекта, лежащего в конкретной ячейке. Циклом и массивом мы каждой ячейке присваиваем "нулевой" спрайт, т.е. все ячейки пусты. Amount[i, j] = 1; Эта строка отвечает за количество объектов в ячейках. Каждой из всех ячеек мы присваиваем кол-во 1. Так, с этим разобрались. Теперь нам нужно сделать отрисовку спрайтов в ячейках. Создаём событие Draw и пишем код:
Здесь всё устроено немного иначе. Сначала мы инициализируем цикл, проверяющий все ячейки. Далее отрисовываем ячейки. Думаю, об этом принципе рисования вы узнали из первого урока, поэтому зацикливать внимание я на этом не буду. Потом идёт отрисовка спрайта объекта в занятых ячейках. И последнее, что мы проверяем, это отрисовку количества объектов в определённой ячейке. В данном случае рисовать количество мы будем только в том случае, если в ячейке находится больше одного объекта.
Основа нашего с вами инвентаря готова. Всё, что нам осталось, осуществить подбор и складывание предметов в инвентарь. Создаём спрайты s_item1, s_item2, s_item3,объекты и назначаете им соответствующие спрайты. Для того, чтобы не пришлось писать много кода в каждый объект, мы напишем скрипт. Создаём скрипт и назовём его add_item и в нём пишем следующий код:
Всё также запускаем цикл, который проверяет все ячейки инвентаря. Потом проверяем наличие объекта в ячейках, пока не находим пустую, и в переменную найденной ячейки записываем спрайт подобранного объекта, уничтожаем его и выходим из цикла (В данной ситуации это необходимо!). Иначе, если при проверке был обнаружен объект, который мы хотим подобрать, то тогда увеличиваем количество предметов в ячейке с найденным предметов, уничтожаем его и также выходим из цикла. Всё, наш скрипт написан. Теперь осталось его, как бы так сказать, "привести в действие". В каждый созданный объект (o_item1, o_item2... их может быть любое кол-во, на ваше усмотрение) в событие Left Pressed пишем инициализацию нашего написанного скрипта:
Code
add_item();
Готово. Теперь создаём комнату, размещаем объект inv в левый верхний угол комнаты и произвольно размещаем предметы. Тестируем на работоспособность и радуемся тому, что научились создавать крутой, но в то же время простой для понимания инвентарь. Исходник к статье: Скачать
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Создание простого инвентаря на Game Maker. Часть 2.», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.