Вторник, 26 Ноября 2024, 23:49

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Выполнение функции, исходя из значения переменной.
CitcodeДата: Пятница, 30 Сентября 2016, 16:42 | Сообщение # 1
был не раз
Сейчас нет на сайте
Здравствуйте, всегда готовые помочь люди. У меня в игре есть инвентарь, реализованный с помощью массивов.Соответственно в нем используются id предметов.В моих планах сделать постоянное выполнение функции(скрипта в ресурсах), зависящей от id текущего предмета.Т.е если id = 4, то выполняется item_act_id4(), если 7 то item_act_id7().Но я не могу это реализовать.Все, чего я добился - это получение строки с названием нужной функции.Как мне реализовать мою идею?

Сообщение отредактировал Citcode - Пятница, 30 Сентября 2016, 17:08
kostian135Дата: Пятница, 30 Сентября 2016, 17:53 | Сообщение # 2
почетный гость
Сейчас нет на сайте
сделай одну функцию с подфункциями и этой строкой вызывай подфункции через главную. так сказать упакуй эти функции в библиотеку.

главная функция(" фукции"+N)
{
функция1
функция2
функция3
...
}

PS давненько программировал. но я не тот кто может все дословно разжевать))))
Quad69Дата: Пятница, 30 Сентября 2016, 23:48 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
если game maker studio, то нужно пользоваться функцией типо asset_get_index
если 8.0, то execute_string
OpenGOOДата: Суббота, 01 Октября 2016, 12:57 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Код
switch (item_id)
{
...
case 4: item_act_id4(); break;
...
case 7: item_act_id7(); break;
...
}


Добавлено (01 октября 2016, 12:57)
---------------------------------------------
Ещё вариант в одну строчку.
Код
script_execute(asset_get_index("item_act_id" + string(item_id)));


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]


Сообщение отредактировал OpenGOO - Суббота, 01 Октября 2016, 12:58
CitcodeДата: Суббота, 01 Октября 2016, 14:52 | Сообщение # 5
был не раз
Сейчас нет на сайте
OpenGOO, Большое спасибо.
  • Страница 1 из 1
  • 1
Поиск:

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