首页 > 解决方案 > 为模拟器创建画布时遇到问题

问题描述

我正在尝试在 BizHawk 模拟器中的 Lua Canvas 上显示文本,但在我的“LuaCanvas.drawText”命令行中不断出现相同的错误。

我还没有找到任何使用画布的 Bizhawk 示例脚本

gui.createcanvas(640, 480);
while true do
    LuaCanvas.drawText(100, 100, message);
    emu.frameadvance();
end

该脚本打开两个画布窗口而不是所需的一个画布,并且没有我提供的“消息”字符串。

错误消息显示:NLua.Exceptions.LuaScriptException: [string "main"]:3: attempt to index global 'LuaCanvas' (a nil value)

标签: lua

解决方案


我认为代码应该更像这样。

drawSpace = gui.createcanvas(192,160)
drawSpace.drawBox(5,5,50,50)

或尝试

local c = gui.createCanvas(60, 60, 300, 200);
c:onPaint = function(params)
  self:clear(1, 0, 0, 1);
  self:moveTo(10, 10);
  self:lineTo(100, 100);
end

尽管如此,似乎缺乏文档。


推荐阅读