love.graphics.setColor (简体中文)

设置用来绘画的颜色

在11.0之前的版本中,颜色值在0到255的范围内,而不是0到1。

函数

概要

love.graphics.setColor( red, green, blue, alpha )

参数

number red
红色值。
number green
绿色值
number blue
蓝色值
number alpha
alpha(透明)值。 alpha值将应用于所有后续绘制操作,甚至是图像的绘制。

返回值

无。

函数

注:自love0.7.0后不支持此变体

概要

love.graphics.setColor( rgba )

参数

table rgba
红色值,绿色值,蓝色值及alpha值(numbers)组成的数字table。alpha是可选的,如果忽略它,则默认为1。

返回值

无。

实例

以RGB设置颜色

使用 love.math.colorFromBytes 来设置0到255之间的颜色值。

love.graphics.setColor(love.math.colorFromBytes(128, 234, 255))

绘制红色,蓝色和绿色的圆

function love.draw()
	love.graphics.setColor(1, 0, 0)
	love.graphics.circle("fill", 50,50, 20)

	love.graphics.setColor(0, 0, 1)
	love.graphics.circle("fill", 50,100, 20)

	local myColor = {0, 1, 0, 1}
	love.graphics.setColor(myColor)
	love.graphics.circle("fill", 50,150, 20)
end

绘制韦恩图

function love.load()
	love.graphics.setBackgroundColor(1, 1, 1)
end

function love.draw()
	local baseX   = love.graphics.getWidth()/2
	local baseY   = 400
	local radius  = 100
	local offsetY = radius/2 * math.sqrt(3)

	love.graphics.setBlendMode("multiply", "premultiplied")
	love.graphics.setColor(1, .6, .6)
	love.graphics.circle("fill", baseX-radius/2, baseY, radius)
	love.graphics.setColor(.6, 1, .6)
	love.graphics.circle("fill", baseX, baseY-offsetY, radius)
	love.graphics.setColor(.6, .6, 1)
	love.graphics.circle("fill", baseX+radius/2, baseY, radius)
end

相关链接