我對love2d比較陌生,想知道是否有一種簡單的方法來繪製線性漸變而不使用圖像。我試圖繪製一個黃昏的場景,並且需要從背景的頂部到底部的微妙漸變,但是創建足夠大的圖像以填充背景看起來會太大。有沒有簡單的方法在love2d中繪製漸變?
有什麼想法?
我對love2d比較陌生,想知道是否有一種簡單的方法來繪製線性漸變而不使用圖像。我試圖繪製一個黃昏的場景,並且需要從背景的頂部到底部的微妙漸變,但是創建足夠大的圖像以填充背景看起來會太大。有沒有簡單的方法在love2d中繪製漸變?
有什麼想法?
嘗試使用的圖像是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處理水平重複以進行快速繪製。
(希望這個工程,我沒有測試過。)
如果你擔心圖像的尺寸和性能,最好的辦法是使1個XN像素,其中n是一個圖像漸變上的顏色數量。例如,如果要使用2種顏色的垂直背景漸變:
love.graphics.draw(img,0,0,0,love.graphics.getWidth(),love.graphics.getHeight()/ 2)
:)
雖然我不能確定的方式從love2D API做到這一點,你會通過設置一個四頂點的顏色做在OpenGL(這樣低的頂點將被設置爲黑色例如頂部頂點變爲藍色)。 – ravuya