在love2d中生成更多物体?

所以,我是一个love2d编码的新手,但我认为我已经掌握了大部分基础知识。

但我不知道如何创建一个函数/表格以一次性生成多个对象。

function love.load()
    local music = love.audio.newSource('flamingo.mp3')
    music:setLooping(true)
    love.audio.play(music)
    player = {}
    player.x = 5
    player.y = 225
    player.speed = 2
    player.image = love.graphics.newImage('player.png')

    flower = {}
    flower.image = love.graphics.newImage('flower.png')
    flower.x = love.math.random(0, 400)
    flower.y = love.math.random(0, 250)
end

function love.update(dt)
    if love.keyboard.isDown('right') then
        player.x = player.x + player.speed
    elseif love.keyboard.isDown('left') then
        player.x = player.x - player.speed
    elseif love.keyboard.isDown('up') then
        player.y = player.y - player.speed
    elseif love.keyboard.isDown('down') then
        player.y = player.y + player.speed
    end
end

function love.draw()
    love.graphics.draw(flower.image, flower.x, flower.y)
    love.graphics.draw(player.image, player.x, player.y)
end

我有一个生成一个花朵的表格,但我想生成更多的花卉(具有随机的x,y位置和数量),就像我说的,我不知道该怎么做,所以我需要帮助。

点赞
用户4687565
用户4687565

添加更多的表格

function love.load()
    --....
    flower = {}
    flower.image = love.graphics.newImage('flower.png')
    flower.x = love.math.random(0, 400)
    flower.y = love.math.random(0, 250)

    flower1 = {}
    flower1.image = love.graphics.newImage('flower.png')
    flower1.x = love.math.random(0, 400)
    flower1.y = love.math.random(0, 250)

    flower2={}
    --等等...
end

function love.draw()
    love.graphics.draw(flower.image, flower.x, flower.y)
    love.graphics.draw(flower1.image, flower1.x, flower1.y)
    --等等...
    love.graphics.draw(player.image, player.x, player.y)
end

然而,您很可能可以看到上述方法存在一些问题。

关于如何更好地组织代码的描述,说明和教育将适合于一本好的教科书,而不是SO答案。

已经有很多书籍和指南了。确保您至少了解Programming in Lua,并查看例如here等示例程序可以如何组织。请记住,理想情况下,除了上述链接之外,还有很多需要学习的东西(以及在其中)。

2018-05-27 14:27:28