用变量调用script_execute

Dev*_*ate 1 gml game-maker

我正在使用GameMaker:Studio Pro并尝试执行存储在变量中的脚本,如下所示:

script = close_dialog;
script_execute(script);
Run Code Online (Sandbox Code Playgroud)

它不起作用.它显然正在寻找一个名为"script"的脚本.谁知道我怎么能做到这一点?

小智 5

这个问题现在已经很老了,但是如果有其他人通过google结束这里(就像我做的那样),我发现这里运行得很好,并且不需要任何额外的数据结构作为参考:

scriptToCall = asset_get_index(scr_scriptName);
script_execute(scriptToCall);
Run Code Online (Sandbox Code Playgroud)

这里的第一行创建变量scriptToCall,然后为其分配Game Maker要调用的脚本的内部ID号.这允许script_execute从ID中正确地找到脚本,如果您尝试将其传递给包含脚本名称的字符串,则该脚本不起作用.

我正在使用它来定义应该在包含的txt文件中在特定情况下调用哪些脚本,因此需要将字符串转换为可寻址的脚本ID!