我正试图在GameMaker Studio 2中实现一个武器切换系统,由于我对GML没有太多经验,我正在按照教程进行操作。当我试图运行这个脚本时,我遇到了以下错误,我找不到让它工作的方法。
############################################################################################中的错误行动编号1的创建事件对于对象:
DoConv:1:非法的未定义/null使用在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"];
此错误可能意味着以下几点:
- 您没有将脚本的内容包装在
function <name>() { ... }
中(根据您在2.3中创建新脚本时收到的消息(,导致您的代码在游戏开始时执行(当然,没有参数( - 您在没有参数的情况下调用了脚本(
ChangeWeapon()
与ChangeWeapon(arg)
( - 您使用参数调用了脚本,但参数的值为
undefined
根据错误消息,我认为这是三个消息中的第一个。