Game Maker - создание игр | HellRoom Games
Декабрь 09, 2025, 10:36:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: 1 ... 25 26 [27] 28   Вниз
  Печать  
Автор Тема: Пример инвентаря  (Прочитано 341344 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
SilentPhil
Norland
GM Pro user
*

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

Пол: Мужской
Награды:
Первое место на HellRoom Jam #7 [Hell in Your Fridge]500 сообщений!За постоянность! [50 дней на форуме]За лояльность! [+150 репутации]Настоящий игродел!Второе место на HellRoom Jam #6 [По следам Артакса]...
API: GameMaker Studio 2
Деятельность: GML, Pixel Art
Сообщений: 1363



WWW
« Ответ #390 : Февраль 20, 2017, 04:47:10 »

Всем привет! Никто не подскажет, как можно заменить многочисленно используемый execute_string? В GMS эта функция, увы, вырезана с корнями.
Пересмотром архитектуры кода. Если вам нужен execute_string, значит вы делаете что-то не так. Опишите свой юзкейс.
Записан

         
Да, на них можно кликать.
Aliery
Новичок
*

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

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


« Ответ #391 : Апрель 09, 2017, 20:25:32 »

У меня вот тоже возникла проблема с вашим примером в GMS...Вроде все настроил, все ставится, поднимается, в общем работает, а из-за отсутствия функции execute_string я не понимаю как поменять значения, которые берутся из переменных act_on и act_off соответственно....Сможете подсказать альтернативу?
Записан
AndrewVideoGames
Главный Модератор
*

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

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #392 : Апрель 09, 2017, 20:57:20 »

У меня вот тоже возникла проблема с вашим примером в GMS...Вроде все настроил, все ставится, поднимается, в общем работает, а из-за отсутствия функции execute_string я не понимаю как поменять значения, которые берутся из переменных act_on и act_off соответственно....Сможете подсказать альтернативу?
Для чего вы её используете? Какая цель? К примеру, если с помощью execute_string вы получаете название ресурса: execute_string('return s_'+string(number)), эту функцию в gms можно заменить на asset_get_index('s_'+string(number))
Записан
Aliery
Новичок
*

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

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


« Ответ #393 : Апрель 09, 2017, 22:01:57 »

Код:
if (n_x_1 != -1)
        {
        if (txt[n_x_1,n_y_1]='')
            {
            txt[n_x_1,n_y_1]=other.name;
            spr[n_x_1,n_y_1]=other.sprite_index;
            item[n_x_1,n_y_1]=1;
            name_obj[n_x_1,n_y_1]=other.object_index;
            max_number[n_x_1,n_y_1]=1;
            act_on[n_x_1,n_y_1] = other.act_on;
            act_off[n_x_1,n_y_1] = other.act_off;
            item_type[n_x_1,n_y_1] = other.item_type;
            r_weap = true;
            execute_string('act_on[n_x_1,n_y_1]');
Вот кусок кода из примера инвентаря. Как я понял там сначала идет оператор switch(определение клеток), затем условия проверки слота и добавление предмета в слот. Переменная act_on отвечает за действие предмета на персонажа, но я не понял как использовать ее правильно, чтобы все работало.
Спс за подсказду, попробую воспользоваться ей.
А с помощью ds_list, ds_map можно ли сделать?

PS. Файл "Пример инвентаря и экипировки", Обект "obj_item_base".
« Последнее редактирование: Апрель 09, 2017, 22:07:18 от Aliery » Записан
Andrey_27
Новичок
*

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

API: GameMaker Studio Standard
Сообщений: 6



« Ответ #394 : Январь 26, 2019, 23:53:25 »

Всем привет.
Подскажите пожалуйста, как можно сохранить пропорции инвентаря при смене параметров view_wview, view_hview.
Кликабельная область смещается.
« Последнее редактирование: Январь 29, 2019, 15:23:11 от Andrey_27 » Записан
Fur
Абы-какой
GM Pro user
*

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

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


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


« Ответ #395 : Январь 27, 2019, 00:01:50 »

Примеры существуют для изучения, а не для копипасты в свои проекты. Если ты не удосужился понять, как что работает и почитать о Draw GUI, то уж извиняй.
Записан

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

Hyperflex
Andrey_27
Новичок
*

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

API: GameMaker Studio Standard
Сообщений: 6



« Ответ #396 : Январь 29, 2019, 15:35:01 »

Отрисовка в Draw GUI к сожалению не решила проблему. Объект сползает в сторону от спрайта.
Не могу понять в чём дело.
Записан
AndrewVideoGames
Главный Модератор
*

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

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #397 : Январь 29, 2019, 15:47:11 »

Отрисовка в Draw GUI к сожалению не решила проблему. Объект сползает в сторону от спрайта.
Не могу понять в чём дело.
Какой объект? Что означает "сползает"? Что именно у вас не так с кликабельностью и как вы её реализуете?
Записан
Andrey_27
Новичок
*

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

API: GameMaker Studio Standard
Сообщений: 6



« Ответ #398 : Январь 29, 2019, 16:12:24 »

Если взять пример инвентаря 1.0078 и попробовать реализовать зум при помощи view_wview, view_hview (колесо мыши)
получается, что клетки инвентаря и их содержимое будут находится там где нужно, а вот клик по ячейкам уже не сработает.
Меняя view_hview нужно будет кликать возле инвентаря а не по ячейкам.
И чем больше меняется параметр view_hview, тем левее будет находится кликабельная область.
Вот и получается, чтоб схватить предмет из ячейки, нужно кликать где-то в стороне, а не под спрайтом.
Записан
AndrewVideoGames
Главный Модератор
*

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

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #399 : Январь 29, 2019, 16:14:25 »

У вас абсолютные координаты у ячеек? Скиньте кусок кода, который отрисовывает ячейки и кусок кода, который отрабатывает нажатие.
Записан
Andrey_27
Новичок
*

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

API: GameMaker Studio Standard
Сообщений: 6



« Ответ #400 : Январь 29, 2019, 16:16:38 »

Отрисовка в Draw GUI не помогла приклеить инвентарь так, чтоб он не реагировал на зум
Записан
AndrewVideoGames
Главный Модератор
*

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

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #401 : Январь 29, 2019, 17:00:03 »

Отрисовка в Draw GUI не помогла приклеить инвентарь так, чтоб он не реагировал на зум
Чтобы инвентарь не реагировал на зум - вам нужно сделать координаты нажатия относительными. Проверять нажатие относительно экрана, а не относительно комнаты.
Записан
Andrey_27
Новичок
*

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

API: GameMaker Studio Standard
Сообщений: 6



« Ответ #402 : Январь 29, 2019, 18:42:48 »

Отрисовка

Left Pressed
Записан
AndrewVideoGames
Главный Модератор
*

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

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #403 : Январь 29, 2019, 19:22:26 »

1) Оформление кода плохое, он не читаем.
Пробелы ставьте везде, а не только в некоторых местах, фигурные скобки и вовсе расставлены непонятным образом, я даже одной не досчитал. Так же, используйте табуляцию и [code][/code] для вставки кода на форуме.
2) Вы используете непонятные числа.
32 и 1377 - это числа для вызова Сатаны? Откуда они? Что они означают? Забейте их в переменные и сделайте относительными, если 32 - это высота спрайта, то так и пишите sprite_get_height(sprite). Так же, по коду у вас бывают значения по типу 5, 237, 290, 45, 50 - это безобразие.
3) Использование абсолютных координат.
В klick_x=floor((mouse_x-x)/slot_width_x); вы используте mouse_x и x - эти координаты указаны относительно комнаты, используйте display_get_gui_height, display_get_gui_width или относительно вида (учитывать view_xview, view_yview, view_wport, view_hport), координаты мыши так же относительно экрана, а не комнаты.
Записан
Andrey_27
Новичок
*

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

API: GameMaker Studio Standard
Сообщений: 6



« Ответ #404 : Январь 29, 2019, 19:32:32 »

Понял, спасибо. Попробую сделать переменные относительными. + поставил  
Записан
Страниц: 1 ... 25 26 [27] 28   Вверх
  Печать  
 
Перейти в:  

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