你如何 运行 在 Love2d 上只绘制一次函数
How do you run a draw function only once on Love2d
我目前正在尝试创建一个 Love2d space 游戏,我正在尝试为运气不佳的星星创建 运行dom 生成,我创建星星的函数是:
function space.drawStars()
for i = 1, space.starNum do
love.graphics.setColor(255, 255, 255)
space.starSize = love.math.random(1, 10)
space.starXPosition = love.math.random(1, 1200)
space.starYPosition = love.math.random(1, 750)
love.graphics.rectangle("fill", space.starXPosition,space.starYPosition, space.starSize, space.starSize)
end
end
我目前遇到的这个函数的问题是,当它是 运行 时,Lua 似乎 运行 这个函数多次,而且星星在不断变化。我曾尝试将此函数的内容放在我的主 class 中的 load() 函数中,但由于它需要放在我的绘图函数中,因此它不会生成星星。
谁能帮我实现这个功能 运行 一次,这样 Lua 只绘制一组星星,而不是不断地创造新的星星并摧毁原来的星星.
谢谢,
创建一次开始。像这样(未经测试):
local stars = nil
local function createStars()
if stars==nil then
stars={}
for i = 1, space.starNum do
stars[i] = {
Size = love.math.random(1, 10),
XPosition = love.math.random(1, 1200),
YPosition = love.math.random(1, 750),
}
end
end
end
function space.drawStars()
createStars()
for _, star in ipairs(stars) do
love.graphics.setColor(255, 255, 255)
love.graphics.rectangle("fill", star.XPosition, star.YPosition, star.Size, star.Size)
end
end
我目前正在尝试创建一个 Love2d space 游戏,我正在尝试为运气不佳的星星创建 运行dom 生成,我创建星星的函数是:
function space.drawStars()
for i = 1, space.starNum do
love.graphics.setColor(255, 255, 255)
space.starSize = love.math.random(1, 10)
space.starXPosition = love.math.random(1, 1200)
space.starYPosition = love.math.random(1, 750)
love.graphics.rectangle("fill", space.starXPosition,space.starYPosition, space.starSize, space.starSize)
end
end
我目前遇到的这个函数的问题是,当它是 运行 时,Lua 似乎 运行 这个函数多次,而且星星在不断变化。我曾尝试将此函数的内容放在我的主 class 中的 load() 函数中,但由于它需要放在我的绘图函数中,因此它不会生成星星。
谁能帮我实现这个功能 运行 一次,这样 Lua 只绘制一组星星,而不是不断地创造新的星星并摧毁原来的星星.
谢谢,
创建一次开始。像这样(未经测试):
local stars = nil
local function createStars()
if stars==nil then
stars={}
for i = 1, space.starNum do
stars[i] = {
Size = love.math.random(1, 10),
XPosition = love.math.random(1, 1200),
YPosition = love.math.random(1, 750),
}
end
end
end
function space.drawStars()
createStars()
for _, star in ipairs(stars) do
love.graphics.setColor(255, 255, 255)
love.graphics.rectangle("fill", star.XPosition, star.YPosition, star.Size, star.Size)
end
end