LÖVE中的背景颜色

我已经设置了一个配置文件并且开始编写一个用于文本基础RPG / 模拟游戏的标题屏幕程序. 背景颜色似乎没有从默认的黑色改变,这有点棘手。我已经发布了我的现有代码。是的,我执行包含配置文件和此代码的整个文件夹。

function love.load()
    love.graphics.setBackgroundColor( 255, 255, 255 )
end

function love.update(dt)
end

function
    love.graphics.newImage (\LUA txt adventure\Title.png)
end

$

function love.conf(t)
    t.modules.joystick = true   -- Enable the joystick module (boolean)
    t.modules.audio = false     -- Enable the audio module (boolean)
    t.modules.keyboard = true   -- Enable the keyboard module (boolean)
    t.modules.event = true      -- Enable the event module (boolean)
    t.modules.image = true      -- Enable the image module (boolean)
    t.modules.graphics = true   -- Enable the graphics module (boolean)
    t.modules.timer = true      -- Enable the timer module (boolean)
    t.modules.mouse = true      -- Enable the mouse module (boolean)
    t.modules.sound = false     -- Enable the sound module (boolean)
    t.modules.thread = true
    t.modules.physics = true    -- Enable the physics module (boolean)
    t.console = false           -- Attach a console (boolean, Windows only)
    t.title = "太空贸易模拟器"        -- 游戏窗口的标题 (string)
    t.author = "Magikarp"        -- 游戏的作者 (string)
    t.window.fullscreen = false -- 启用全窗口 (boolean)
    t.window.vsync = false       -- 启用垂直同步 (boolean)
    t.window.fsaa = 0           -- FSAA缓冲区的数量 (number)
    t.window.height = 600       -- 窗口高度 (number)
    t.window.width = 800        -- 窗口宽度 (number)
end
点赞
用户17783369
用户17783369

love.graphics.setBackgroundColor() 无法使用 (255, 255, 255)。LÖVE(从版本11.0开始)使用不同的方式设置颜色,每个组件使用0到1的范围;因此,尝试使用 love.graphics.setBackgroundColor(1, 1, 1)love.graphics.setBackgroundColor(255/255, 255/255, 255/255)

2022-05-01 11:52:57
用户11740758
用户11740758

将下面翻译成中文并且保留原本的 markdown 格式,

What @freeve4 wrote is true.

@freeve4 所写的是正确的。

And you can give a table a name and fill it up with what the name suggesting.

你可以给表格起一个名字,并根据名称填充。

比如...

local myBlue = {0.25, 0.25, 0.75, 1} -- 最后一个数字代表不透明度

function love.draw()
    love.graphics.setBackgroundColor(myBlue) -- 使用
end
2022-05-01 13:25:52
用户6288561
用户6288561

虽然在11年前提问时该问题的代码是正确的,但现在颜色已经表示为 01 之间的浮点数,而不是 0255(0.0 == 0.0, 0.5 == 127, 1.0 == 255 等等)。也就是说,在提问时,传递给 setBackgroundColor() 的参数并不是问题的原因。

主要问题在于,如果在 love.draw() 函数之外调用任何涉及绘图的函数,则它们将没有任何效果

为了解决这个问题,只需将代码从 love.load() 移动到 love.draw() 中即可。

至于已经编写的代码:我想 setBackgroundColor() 是从 love.load 中调用的,以避免额外的绘制函数带来的性能开销。但是,在现代硬件上每帧调用一次并不会影响性能,因此在每帧填充背景并进行大量其他绘制调用是完全可以接受的(在合理范围内,每帧进行 10,000 次绘制是极端的,可能需要进行优化)。

(免责声明:我没有重新安装 LOVE 来测试这个问题。我从其他两个答案;LOVE 文档;和常识收集的信息来构建这个答案。我现在比 6 年前年老、愚蠢、更加麻木了,已经 23 岁了。)

另外,把我没给的赞还给我,你们这些骗子 >:(

2022-05-28 09:34:28