文本在LOVE2D游戏中不显示

我正在使用LOVE2D制作我的植物大战僵尸,只完成了开始状态。然而问题是选项文本不会显示,只有标题:

我在StartState.lua中编写了以下内容:

StartState = Class{__includes = BaseState}

local option = 1

function StartState:update(dt)
    if love.keyboard.wasPressed('up') then
        if option == 1 then
            option = 2
        else
            option = 1
        end
    elseif love.keyboard.wasPressed('down') then
        if option == 2 then
            option = 1
        else
            option = 2
        end
    end

    if love.keyboard.wasPressed('enter') then
        if option == 1 then
            gStateMachine:change('play')
        else
            gStateMachine:change('quit')
        end
    end
end

function StartState:render()
    local backgroundWidth = gTextures['start-background']:getWidth()
    local backgroundHeight = gTextures['start-background']:getHeight()

    love.graphics.draw(gTextures['start-background'], 0, 0, 0, VIRTUAL_WIDTH / (backgroundWidth - 1),
        VIRTUAL_HEIGHT / (backgroundHeight - 1))

    love.graphics.setFont(gFonts['medium'])
    love.graphics.setColor(0/255, 0/255, 0/255, 255/255)
    love.graphics.printf('开始游戏', 0, VIRTUAL_HEIGHT + 5, VIRTUAL_WIDTH + 2, 'center')
    love.graphics.printf('退出游戏', 0, VIRTUAL_HEIGHT + 35, VIRTUAL_WIDTH + 2, 'center')

    if option == 1 then
        love.graphics.setColor(255/255, 174/255, 201/255, 255/255)
        love.graphics.printf('开始游戏', 0, VIRTUAL_HEIGHT, VIRTUAL_WIDTH, 'center')
        love.graphics.setColor(237/255, 28/255, 36/255, 255/255)
        love.graphics.printf('退出游戏', 0, VIRTUAL_HEIGHT + 30, VIRTUAL_WIDTH, 'center')
    else
        love.graphics.setColor(237/255, 28/255, 36/255, 255/255)
        love.graphics.printf('开始游戏', 0, VIRTUAL_HEIGHT, VIRTUAL_WIDTH, 'center')
        love.graphics.setColor(255/255, 174/255, 201/255, 255/255)
        love.graphics.printf('退出游戏', 0, VIRTUAL_HEIGHT + 30, VIRTUAL_WIDTH, 'center')
    end

    love.graphics.setFont(gFonts['large'])
    love.graphics.setColor(153/255, 217/255, 234/255, 128/255)
    love.graphics.printf('攻击僵尸', 0, VIRTUAL_HEIGHT / 2 - 50, VIRTUAL_WIDTH, 'center')

    love.graphics.setColor(255/255, 255/255, 255/255, 255/255)
end

我甚至试图去掉背景,以确保文本是否在后面,但不,它不在那里。我甚至尝试改变不透明度,但仍然没有内容显示。我该如何解决这个问题?

点赞
用户13955436
用户13955436

你只能在 love.draw() 回调函数中绘制对象,每次你想要它绘制当前帧时,必须定期执行它。

在你的 main.lua 文件中:

function love.update()
    StartState:update(dt)
end

function love.draw()
    StartState:render()
end
2020-09-18 21:42:37
用户88888888
用户88888888

回顾文本的坐标点

请检查文本的坐标点,如果发现了误导性的坐标点,请尝试进行修复!

2020-09-26 09:08:59