#var #gml #game-maker-studio-2
#var #gml #создатель игр-студия-2
Вопрос:
Я пытаюсь внедрить систему переключения оружия в GameMaker Studio 2, и я следую учебнику, чтобы сделать это, так как я не слишком разбираюсь в GML. Когда я пытаюсь запустить этот сценарий, я получаю следующую ошибку, и я не могу найти способ заставить его работать.
############################################################################################ ОШИБКА в действии № 1 при создании события для объекта :
DoConv :1: незаконное неопределенное/нулевое использование в gml_GlobalScript_ChangeWeapon (строка 2) — var wp_map = оружие[оружие]; ############################################################################################ gml_GlobalScript_ChangeWeapon (строка 2)
И сценарий такой:
weapon = argument0; var wp_map = weapons[weapon]; sprite = wp_map[? "sprite"]; recoil = wp_map[? "recoil"]; recoil_push = wp_map[? "recoil_push"]; damage = wp_map[? "damage"]; projectile = wp_map[? "projectile"]; startup = wp_map[? "startup"]; bulletspeed = wp_map[? "bulletspeed"]; length = wp_map[? "length"]; cooldown = wp_map[? "cooldown"]; automatic = wp_map[? "automatic"];
Ответ №1:
Эта ошибка может означать несколько вещей:
- Вы не завернули содержимое скрипта
function lt;namegt;() { ... }
(в соответствии с сообщением, которое вы получаете при создании новых скриптов в 2.3), в результате чего ваш код был выполнен при запуске игры (и, конечно же, без аргументов). - Вы вызвали свой сценарий без аргумента (
ChangeWeapon()
vsChangeWeapon(arg)
). - Вы вызвали свой скрипт с аргументом, но значение аргумента равно
undefined
.
Основываясь на сообщении об ошибке, я бы предположил, что это первое из трех.