LÖVE2D-0.9.1和LuaJIT-2.0.3: ´print()´不能写入控制台

重要提示: 我在Love2D论坛上问过了。 结果发现0.9.1版本已经使用了LuaJIT,因此没有必要交换任何Lua51.dll来“启用”LuaJIT。 所以问题已经解决了。


我正在尝试在加载函数中打印一些东西,但是我的控制台窗口中没有任何内容。

conf.lua:

function love.conf(t)
    t.modules.audio = true             -- 启用音频模块(布尔值)
    t.modules.event = true             -- 启用事件模块(布尔值)
    t.modules.graphics = true          -- 启用图形模块(布尔值)
    t.modules.image = true             -- 启用图像模块(布尔值)
    t.modules.joystick = true          -- 启用游戏手柄模块(布尔值)
    t.modules.keyboard = true          -- 启用键盘模块(布尔值)
    t.modules.math = true              -- 启用数学模块(布尔值)
    t.modules.mouse = true             -- 启用鼠标模块(布尔值)
    t.modules.physics = true           -- 启用物理模块(布尔值)
    t.modules.sound = true             -- 启用声音模块(布尔值)
    t.modules.system = true            -- 启用系统模块(布尔值)
    t.modules.timer = true             -- 启用计时器模块(布尔值)
    t.modules.window = true            -- 启用窗口模块(布尔值)
    t.modules.thread = true            -- 启用线程模块(布尔值)
    t.console = true
    t.title = "教程游戏"
    t.version = "0.9.1"
    t.screen.fullscreen = false
    t.screen.vsync = true
    t.screen.height = 600
    t.screen.width = 800
    t.fsaa = 0
end

main.lua:

function love.load()
    print("Hello world")
end

function love.draw()
end

function love.update(dt)
end

function love.focus(bool)
end

function love.keypressed(key, unicode)
end

function love.keyreleased(key, unicode)
end

function love.mousepressed(x, y, button)
end

function mousereleased(x, y, button)
end

function love.quit()
end

控制台应该显示:

Hello world

但我看到的只有


我希望有人能帮我解决这个问题。

附:在Lua中正常运行print()命令(不使用Love2D)可以工作。 我使用love2d-0.8.0运行了完全相同的命令(但版本为0.8.0),问题没有发生。 我想我会将其报告为一个错误...... 当然,由于这个新版本,您只能使用自己的lua51.dll,也许与LuaJIT和Love2D-0.9.1不兼容有关。

点赞
用户87021
用户87021

如果你在 Mac 下,你应该在终端中运行以下命令:

/Applications/love.app/Contents/MacOS/love <路径到你的目录或 .love 文件>

如果你在 Windows 下,你需要进行以下配置:

t.console = true

然后应该能够正常运行。

2014-12-01 04:47:09
用户4113904
用户4113904

在 love2d 0.9.1 中,我认为 t.screen 不起作用,但是 t.window 可以。

尝试在 draw 函数中放入 love.graphics.print("Hello world!")

https://love2d.org/wiki/love.graphics.print

2014-12-14 18:23:48
用户378386
用户378386

从版本0.9.1开始,löve2d已经使用LuaJIT。

2015-07-14 12:56:29
用户4474133
用户4474133

我有相同的问题。

我的解决办法是,我知道这听起来很傻,要么从 love.conf(t) 中删除 t.console = true 这一行,要么将其值从 true 更改为 false

(我使用的是 Windows 64 位版本的 love2d 0.9.2)

2015-11-22 16:15:23