我尝试分析您的代码,发现几个问题:

  1. 语法错误:您使用了不正确的语法,例如 global.text = []; 应该是 global.text = [];(缺少分号)。
  2. 脚本顺序问题:您可能将两个脚本写在同一个文件中,导致其中一个脚本覆盖另一个脚本的变量定义。
  3. 脚本加载顺序问题:如果您使用了事件驱动的脚本加载方式,可能导致脚本加载顺序不正确,导致变量定义在另一个脚本中无法使用。

为了解决这些问题,建议您:

  1. 将每个脚本写在单独的文件中,并确保每个脚本都有一个明确的作用。
  2. 使用事件驱动的脚本加载方式,确保脚本加载顺序正确。
  3. 使用 console.logprint 等调试工具来检查变量值和函数执行情况。

以下是您的代码的改进版本:

script1.js

global.text = [];

global.text[0] = { str: "Pls work!", spr: sRed };

script2.js

function startDialogue(_arv) {
  var _str = global.text[_arv].str;
  var _spr = global.text[_arv].spr;
  draw_text(240, 135, _str);
}

main.js

// 使用事件驱动的脚本加载方式
on("enter key pressed", function() {
  startDialogue(0);
});

如果您仍然遇到问题,请尝试使用调试工具来检查变量值和函数执行情况。