2016-03-05 60 views
1
background = love.graphics.newImage ("joust.png") 
    bird = love.graphics.newImage ("bird.png") 
    x = 0 
    y = 128 
    speed = 300 

    function love.update (dt) 
    if love.keyboard.isDown ("d") then 
     x = x + (speed * dt) 
    end 
    if love.keyboard.isDown ("a") then 
     x = x - (speed * dt) 
    end 
    if love.keyboard.isDown ("w") then 
     y = y - (speed * dt) 
    end 
    if love.keyboard.isDown ("s") then 
     y = y + (speed * dt) 
    end 
    end 

function love.draw() 
    love.graphics.draw(bird, x, y) 
    for i = 0, love.graphics.getWidth()/background:getWidth() do 
    for j = 0, love.graphics.getHeight()/background:getHeight() do 
     love.graphics.draw(background, i * background:getWidth(), j * background:getHeight()) 
    end 
    end 
end 

让我先从我知道这是很多代码,所以我很抱歉。我试图让一个角色以背后的图像为背景进行移动。当我运行该程序时,似乎发生的情况是背景重叠在角色上,而您看不到该角色。当我删除背景代码时,角色出现并按照它应该的方式工作。谁能告诉我我做错了什么? 非常感谢背景图像重叠字符(love2d)

+0

有时它有助于把笔一纸,手工做在你的代码的绘图步骤。那么你会很容易地看到你在你的鸟身上绘制你的背景,这没有什么意义 – Piglet

回答

3

重排love.draw()函数的背景后油漆鸟:

function love.draw() 
    for i = 0, love.graphics.getWidth()/background:getWidth() do 
    for j = 0, love.graphics.getHeight()/background:getHeight() do 
     love.graphics.draw(background, i * background:getWidth(), j * background:getHeight()) 
    end 
    end 
    love.graphics.draw(bird, x, y) 
end