在love2d中产生更多物体?

时间:2018-05-27 04:16:45

标签: lua 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位置),就像我说的,我不知道如何所以我喜欢一些帮助。

1 个答案:

答案 0 :(得分:0)

当然要添加更多表格!

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={}
    --etc...
end

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

但是,说真的,您可能会看到上述方法存在的一些问题。 关于如何更好地组织代码的描述,解释和教育将适合一本好的教科书,而不是一个SO答案。

那里已经有很多书籍和指南。确保您至少了解Programming in Lua并查找示例here,以了解如何构建类似的程序。请记住,理想情况下,除了这些链接之外还有很多东西需要学习。