我正在尝试使用 Blockly 来做“制作自己的游戏”之类的事情,并且在大多数情况下它都有效。但是,当尝试通过声明一个函数并调用它来运行生成的代码(由 Blockly 自己的预定义函数生成器)时,我总是被告知该函数没有定义,无论它是什么或它包含什么。
我正在抓取并运行代码,如下所示:
var code = Blockly.JavaScript.workspaceToCode();
try{
eval(code);
} catch (e){
alert(e);
}
这就是演示在 Blockly 生成代码上提供的方式。我还在页面的其他地方附和了代码,它看起来对我来说是正确的:
function whatINameIt() {
//code I give it
}
//rest of code
这与 eval 的工作方式有关吗?我唯一能想到的是,由于某种原因,它正在“评估”功能代码,但没有将其添加为可调用的东西。如果是这种情况,是否有另一种方法可以运行 Blockly 给我的代码字符串?