2012-05-19 40 views
1

我對love2d比較陌生,想知道是否有一種簡單的方法來繪製線性漸變而不使用圖像。我試圖繪製一個黃昏的場景,並且需要從背景的頂部到底部的微妙漸變,但是創建足夠大的圖像以填充背景看起來會太大。有沒有簡單的方法在love2d中繪製漸變?

有什麼想法?

+1

雖然我不能確定的方式從love2D API做到這一點,你會通過設置一個四頂點的顏色做在OpenGL(這樣低的頂點將被設置爲黑色例如頂部頂點變爲藍色)。 – ravuya

回答

2

嘗試使用的圖像是1px的寬所需的高度和水平重複它像這樣:

-- load 
bgImage = love.graphics.newImage('gradient.png') 
bgImage:setWrap('repeat', 'clamp') 
bgQuad = love.graphics.newQuad(
    0, 0, 
    WIDTH, bgImage:getHeight(), 
    bgImage:getWidth(), bgImage:getHeight() 
) 

-- draw 
love.graphics.drawq(bgImage, bgQuad, X, Y) 

更換X,Y和寬度隨你所需要的值。在這裏使用quad允許Löve處理水平重複以進行快速繪製。

(希望這個工程,我沒有測試過。)

0

如果你擔心圖像的尺寸和性能,最好的辦法是使1個XN像素,其中n是一個圖像漸變上的顏色數量。例如,如果要使用2種顏色的垂直背景漸變:

love.graphics.draw(img,0,0,0,love.graphics.getWidth(),love.graphics.getHeight()/ 2)

:)

相關問題