Game Maker - создание игр | HellRoom Games
Ноябрь 17, 2025, 16:34:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: 1 ... 21 22 [23] 24 25 ... 28   Вниз
  Печать  
Автор Тема: Пример инвентаря  (Прочитано 335587 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sanya9090
Пользователь
***

Репутация: 9
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Бездельник
Сообщений: 79


Устал...


« Ответ #330 : Январь 03, 2014, 18:02:36 »

Что ты непонятного, Хадей сказал, что надо обращаться не к имени объекта(ибо объектов с таким именем несколько), а к конкретному экземпляру, то есть его  номеру, id.

Что-то именно на надевании вещей в этом инвентаре и не получается.
Тут как то через execute_string вызывается который считывает код из строки и ни как у меня не соотносит с обзектом.
В общем кто может гляньте именно в этот пример. и попробуйте сделать рандомные характеристики надеваемой вещи.
Знаний у меня не хватает.(
Записан

Babbler - hard платформер
Bastard - RPG
Dva_Kota
Гл. Администратор
*

Репутация: 636
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #331 : Январь 25, 2014, 19:04:22 »

Может уже и не актуально, но все же...

Обращаться не к имени объекта, а конкретно к подобранному объекту
Тут и так идет обращение к конкретному экземпляру, а не к имени объекта.

Когда мы взяли вещь - экземпляр удаляется. Когда выбросили - создается новый. Соответственно при создании опять срабатывает random и параметры будут уже другие. Решение
При создании экземпляра во время выбрасывания выполнять код не с рандомом, а с постоянным числом при помощи такого кода создания
Код:
with(instance_create(..., ..., ...))
{
//здесь код который должен быть в create предмета, только вместо рандома конкретное число (переменная)
}
Этот код будет выполнен после события create.

Но где-то нужно хранить эти самые параметры. Я думаю нужно добавить еще одну переменную act_on и act_off, в которой будет код, срабатывающий при выбрасывании предмета. В этот код и записывать числа, выбранные в самом начале рандомом.

p.s.: может быть не достаточно подробно описал, но, надеюсь общий смысл понятен.
Записан

ZickDRD
Пользователь
***

Репутация: 0
Offline Offline

API: Game Maker 8.0 Pro
Сообщений: 93


« Ответ #332 : Май 11, 2014, 16:13:33 »

В прилепленных файлах все аннотации выдаются квадратами. В итоге почти нет пользы...
Записан
Troir
GM Pro user
*

Репутация: 100
Offline Offline

Награды:
500 сообщений!За постоянность! [10 дней на форуме]
API: GameMaker 8.1 Standard
Сообщений: 766



« Ответ #333 : Май 11, 2014, 16:28:50 »

В прилепленных файлах все аннотации выдаются квадратами. В итоге почти нет пользы...

При должном желании можно разобраться и без комментариев. 
Записан
Fur
Абы-какой
GM Pro user
*

Репутация: 463
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]Третье место на HellRoom Jam #9 [Flucoldache]За лояльность! [+300 репутации]Настоящий игродел!Боже мой, посмотрите на эту медальку! Первое место на HellRoom Jam #6
API: Game Maker 8.0 Lite
Деятельность: Бурная.
Сообщений: 3673


Лисяток тебе.


« Ответ #334 : Май 11, 2014, 16:31:20 »

В прилепленных файлах все аннотации выдаются квадратами. В итоге почти нет пользы...
Потому что исходники для гм8, а у тебя 8.1 либо гмс.
Записан

В одной отдельно взятой фразе не должно быть больше миллиона муравьёв, пусть даже она — научного труда о муравьях.

Hyperflex
Nordok
Активный участник
*****

Репутация: 19
Offline Offline

Пол: Мужской
Награды:
За постоянность! [10 дней на форуме]
API: GameMaker Studio Master
Сообщений: 412


Осязаю неосязаемое


« Ответ #335 : Июль 16, 2014, 14:37:53 »

Dva_kota, адаптируй пример под GM:S и выкладывай на YYMarketplace
Записан

stasmen07
Новичок
*

Репутация: 0
Offline Offline

API: GameMaker 8.1 Standard
Сообщений: 1


« Ответ #336 : Январь 04, 2015, 08:30:54 »

Сделайте инвентарь с крафтом как в майнкрафт, с экипировкой и сундуками.
Ну пожалуйста .
Записан
onChyk
«Старожил форума»
******

Репутация: 170
Offline Offline

Пол: Мужской
API: GameMaker Studio Master
Деятельность: Программист GML AAA класса, пиксель-художник, геймдизайнер
Сообщений: 2318



WWW
« Ответ #337 : Январь 04, 2015, 09:12:18 »

"Сделайте за меня всю суть игры"
Записан

Nobody
Новичок
*

Репутация: 0
Offline Offline

API: GameMaker Studio Master
Сообщений: 1


HEPIX PROJECT


WWW
« Ответ #338 : Январь 05, 2015, 19:12:18 »

Здравствуйте, столкнулся с такой проблемой: если перетаскивать, например, шлем из окна экипировки на другой шлем в окне инвентаря (дабы заменить его) происходит, как я понял action_off и всё, спрайт в ячейке меняется, а вот action_on предмета не выполняет. Помогите решить данную проблему, пожалуйста. sideways
« Последнее редактирование: Июль 21, 2015, 04:17:00 от Nobody » Записан

:*
sergei248
Пользователь
***

Репутация: 0
Offline Offline

API: GameMaker Studio Pro
Сообщений: 56


« Ответ #339 : Октябрь 17, 2015, 23:24:55 »

Всем привет друзья,подскажите пожалуйста ,возможно ли как-то реализовать управление в инвентаре не мышью ,а с клавиатуры ...допустим стрелками, а левую и правую клавишу на мышке ,заменить на любой другой на клавиатуре...помогите ,перерыл весь инет в поиске примера инвентаря на клавишах,ни чего не нашёл ,все выше выложенные примеры от Dva_kota то что нужно ,вот только управление в игре ,у меня должно быть только с клавиатуры....
Записан
Goo
ну типа
GM Pro user
*

Репутация: 163
Offline Offline

Пол: Мужской
Награды:
3 место в HellRoom Jam XВторое место на HellRoom Jam #9 [Антибиотик]
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345



« Ответ #340 : Октябрь 18, 2015, 07:26:14 »

Цитировать
Всем привет друзья,подскажите пожалуйста ,возможно ли как-то реализовать управление в инвентаре не мышью ,а с клавиатуры
Да возможно,
первое, в массиве инвентаря введи "Понятие" активная
типа

create
Код:

/* давно не видел код этого инвентаря, а качать не хочу,
    но я уверен в том, что предварительно инвентарь "Очищается" */
/* Отсюда следует, что тебе одну из клеток надо "Пометить" - типа она активна */

for ( i = 0      i < WidthArray      i ++ )
    {
         for ( j = 0      j < HeightArray    j ++ )
             {
                   Active [ i ,  j ] = false // Почистили инвентарь
              }
    }

Active [ 0 , 0 ] = true // активируем первую ячейку , это один из возможных алгоритмов, можно и по другому сделать


Затем перемещение с одной ячейки на другую
допустим это клавиши-стрелки

Код:

// пишу по сути словами, не помню как код этих влавишь в gml выглядит, могу написать не правильно

if left press // если левая нажата, в gml скорее так if keyboard_check ( vk_left ) { ... } , как - то так
    {
         /* Предварительно проверяя, можно ли сдвинуться в ту или иную сторону,
             ведь левее ячейки [0,0] ячеек нет, поэтому проверку сам делай, во всех клавишах
             i и j - это координаты текушей активной ячейки, а правильнее сказать индексы активной ячейки массива,
             из которого сделан инвентарь */
         Active [ i , j ] = false
         Active [ i -1 , j ] = true
    }

if right press
    {
         Active [ i , j ] = false
         Active [ i +1 , j ] = true
    }

if down preess
    {
         Active [ i , j  ] = false
         Active [ i  , j-1 ] = true
    }

if up press
    {
         Active [ i , j ] = false
         Active [ i  , j +1] = true
    }


далее в клавише которая заменяет левую / правую кнопку мыши ставишь проверку

Код:

if Active [ i , j ]
    {
         // дествия с активной ячейкой в позиции i , j
    }


А ДАЛЬШЕ САМ!

Добавлено: Октябрь 18, 2015, 08:37:06


Добавлено: Октябрь 18, 2015, 08:43:47
Ах да, забыл самое главное, в том месте где должен "рисоваться" инвентарь
надо добавить

Код:

/* x1 , y1 координаты левого верхнего угла ячейки с показателем Active
    x2 , y2 координаты правого нижнего угла ячейки с показателем Active
    эти координаты вычтешь сам, это будет рамка вокруг активной ячейки */

if Active [ i , j ]
    {
         draw_rectangle ( x1 , y1 , x2 , y2 , true )
    }

« Последнее редактирование: Октябрь 18, 2015, 08:45:30 от ZaRubick » Записан

sergei248
Пользователь
***

Репутация: 0
Offline Offline

API: GameMaker Studio Pro
Сообщений: 56


« Ответ #341 : Октябрь 18, 2015, 11:54:48 »

Цитировать
Всем привет друзья,подскажите пожалуйста ,возможно ли как-то реализовать управление в инвентаре не мышью ,а с клавиатуры
Да возможно,
первое, в массиве инвентаря введи "Понятие" активная
типа

Ну в общих чертах вроде бы всё понятно ,спасибо за помощь ,буду пробовать...

Добавлено: Октябрь 19, 2015, 19:46:47
Цитировать
/* x1 , y1 координаты левого верхнего угла ячейки с показателем Active
    x2 , y2 координаты правого нижнего угла ячейки с показателем Active
    эти координаты вычтешь сам, это будет рамка вокруг активной ячейки */

if Active [ i , j ]
    {
         draw_rectangle ( x1 , y1 , x2 , y2 , true )
    }

всё работает без ошибок...
Не могу разобраться с координатами...
пишу код в event draw в draw инвентаря:

Код:
if Active[slot_x,slot_y]
{
draw_rectangle (slot_x+32,slot_y+32,slot_x+64,slot_y+64,true)
}

квадрат рисуется в первой ячейке ,но он не реагируют на нажатие клавиш left,right....и при движении игрока ,остаётся на самом фоне комнаты,как-бы съезжая с ячейки инвентаря

в степе прописал:

Код:
if keyboard_check(vk_left)
{
Active [slot_x,slot_y] = false
Active [slot_x-1,slot_y] = true
}

if keyboard_check(vk_right)
{
Active [slot_x,slot_y] = false
Active [slot_x+1,slot_y] = true
}

if keyboard_check(vk_down)
{
Active [slot_x,slot_y] = false
Active [slot_x,slot_y+1] = true
}

if keyboard_check(vk_up)
{  
Active [slot_x,slot_y] = false
Active [slot_x,slot_y-1] = true
}






« Последнее редактирование: Октябрь 20, 2015, 10:10:14 от Dva_Kota » Записан
Goo
ну типа
GM Pro user
*

Репутация: 163
Offline Offline

Пол: Мужской
Награды:
3 место в HellRoom Jam XВторое место на HellRoom Jam #9 [Антибиотик]
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345



« Ответ #342 : Октябрь 19, 2015, 19:51:54 »

от координат отнимай координаты вида, а лучше кинь исходник, помогу поправить
Записан

sergei248
Пользователь
***

Репутация: 0
Offline Offline

API: GameMaker Studio Pro
Сообщений: 56


« Ответ #343 : Октябрь 19, 2015, 20:00:56 »

ок ,примного благодарен...)

* inv01.gmk (83.01 Кб - загружено 434 раз.)
Записан
Goo
ну типа
GM Pro user
*

Репутация: 163
Offline Offline

Пол: Мужской
Награды:
3 место в HellRoom Jam XВторое место на HellRoom Jam #9 [Антибиотик]
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345



« Ответ #344 : Октябрь 19, 2015, 20:15:31 »

погодь минуту

Добавлено: Октябрь 19, 2015, 20:51:03
Держи

* inv01.gmk (83.21 Кб - загружено 454 раз.)
« Последнее редактирование: Октябрь 19, 2015, 20:51:05 от ZaRubick » Записан

Страниц: 1 ... 21 22 [23] 24 25 ... 28   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.108 секунд. Запросов: 36.