绘图方法
弧(绘制模式:”fill”|”line”,x座标,y座标,半径,起始弧度:x轴正方向为0,终止弧度:顺时针,线段数:越大则弧线越平滑)
love.graphics .arc ("fill" , x , y , radius, angle1, angle2, segments)
圆(绘制模式:”fill”|”line”,圆心x座标,圆心y座标,半径,线段数:越大越平滑)
love.graphics .circle ("line" , x , y , radius, segments )
清除()–在love.draw之前的love.run中自动调用,或自己写love.run时被用到
love.graphics.clear ()
love.graphics.clear (r, g, b, a )
画(物体:图片|画布|精灵组|粒子系统|网格,x座标,y座标,旋转弧度,x轴缩放,y轴缩放,x轴原点偏移值,y轴原点偏移值,x轴剪切系数,y轴剪切系数) 画(材质:图片|画布,四边形,x轴,y轴,旋转弧度,x轴缩放,y轴缩放,x轴原点偏移值,y轴原点偏移值,x轴剪切系数,y轴剪切系数)
love.graphics .draw (drawable, x , y , rotation, scaleX, scaleY, originX, originY, kx, ky )
love.graphics .draw (texture, quad, x , y , math.rad (90 ), sx, sy, ox, oy, kx, ky )
线(x座标1,y座标1,x座标2,y座标2, … ) 参数可以用table
love.graphics.draw(200 ,50 ,400 ,50 , ... )
love.graphics.draw(points)
点(x座标, y座标, … ) 参数可以用table
love.graphics.point(x1, y1, x2, y2, ... )
多边形(绘制模式, … ) 参数可以用table存放所有顶点,再传入
love.graphics.polygon("fill" , ... )
呈现() 只有在自己写love.run方法时被用到
love.graphics .present ()
打印(文本,x座标,y座标,旋转弧度,x轴缩放,y轴缩放,x轴原点偏移值,y轴原点偏移值,x轴剪切系数,y轴剪切系数)
love.graphics .print ("Hello World!" , 150 , 120 , math.pi /3 , 1 , 1 , 100 , 100 )
格式打印(文本,x座标,y座标,行最多像素(若小于1个单词,则显示1个单词),对齐方式:”left”|”right”|”center”|”justify”左右对齐)
love.graphics .printf ("Hello World!" , 150 , 120 , 75 , "left" )
矩形(绘制模式:”fill”|”line”,x座标,y座标,宽,高)
love.graphics .rectangle ("line" , 10 , 10 , 100 , 100 )
对象创建方法
新建画布() 创建一个窗口像素大小的画布 新建画布(宽,高) *新建画布(宽,高,格式:”normal”|”rgba8”|…) *新建画布(宽,高,格式,多重采样反锯齿)
canvas = love.graphics .newCanvas ()
canvas = love.graphics .newCnavas (width, height)
canvas = love.graphics .newCanvas (width, height, format)
canvas = love.graphics .newCanvas (width, height, format,msaa)
新建字体(文件名, 字体大小) 新建字体(字体大小)–使用默认字体”Vera Sans”
font = love.graphics .newFont ("anyfont.ttf" , size)
font = love.graphics .newFont (size)
新建图片(文件名) 新建图片(图片数据) 新建图片(压缩的图片数据)
image = love.graphics .newImage ( filename )
image = love.graphics .newImage ( imageData )
image = love.graphics .newImage ( compressedImageData )
font = love.graphics .newImageFont (filename, glyphs)
font = love.graphics .newImageFont (imageData, glyphs)
font = love.graphics .newImageFont (image, glyphs)
mesh = love.grahpics .newMesh (vertices, texture, mode)
vertexcount = {0 ,0 , 0 ,0 , 255 ,255 , 255 ,255 }
mesh = love.graphics .newMesh ( vertexcount, texture, mode )
新建粒子系统(纹理:图像|画布,粒子数)–用法见wiki
system = love.graphics .newParticleSystem ( texture, buffer )
新建四边形(x座标,y座标,宽,高,图片宽,图片高)–用法见wiki
quad = love.graphics .newQuad ( x , y , width, height, sw, sh )
新建截屏() 新建截屏(Alpha值)–linux保存位置:~/.local/share/love
screenshot = love.graphics .newScreenshot ( )
screenshot = love.graphics .newScreenshot ( copyAlpha )
shader = love.graphics .newShader ( code )
shader = love.graphics .newShader ( pixelcode, vertexcode )
spriteBatch = love.graphics .newSpriteBatch ( image, size )
spriteBatch = love.graphics .newSpriteBatch ( image, size, usagehint )
spriteBatch = love.graphics .newSpriteBatch ( texture, size, usagehint )
图形状态
获取背景颜色() @返回 红,绿,蓝,Alpha值
r, g, b, a = love.graphics .getBackgroundColor ()
mode = love.graphics .getBlendMode ()
canvas = love.graphics .getCanvas ()
获取画布格式() @返回 画布格式是一张table表:其中key是格式名;value是boolean值
formats = love.graphics .getCanvasFormats ()
r, g, b, a = lvoe.graphics .getColor ()
获取颜色遮罩() @返回 红,绿,蓝,Alpha值
r, g, b, a = love.graphics .getColorMask ()
获取压缩图片的格式() @返回 格式是一张table表:其中key是格式名;value是boolean值
formats = love.graphics .getCompressedImageFormats ()
min, mag, anisotropy = love.graphics .getDefaultFilter ()
font = love.graphics .getFont ()
join = love.graphics .getLineJoin ()
获取线条风格() @返回 线条风格:”rough”|”smooth”
style = love.graphics .getLineStyle ()
width = love.graphics .getLineWidth ()
size = love.graphics .getPointSize ()
获取点风格() @返回 点风格:”rough”粗糙|”smooth”平滑
style = love.graphics .getPointStyle ()
获取渲染器信息() @返回 名称:”OpenGL”|”OpenGL ES”,版本,显卡厂商,显卡名
name, version, vendor, device = love.graphics .getRendererInfo ()
获取剪裁框() @返回 左上角x座标,左上角y座标,宽,高
x , y , width, height = love.graphics .getScissor ()
shader=love.graphics .getShader ()
stats = love.graphics .getStats ()
limit = love.graphics .getSystemLimit ( limittype )
isSupported = love.graphics.isSupported( support1, support2, support3, ... )
assert(love.graphics.isSupported("canvas" ),"your graphics does not support canvases, sorry!" )
wireframe = love.graphics .isWireframe ()
love.graphics .reset ()
设置背景颜色(红,绿,蓝) 设置背景颜色(红,绿,蓝,Alpha值) 设置背景颜色(table表:{r,g,b}) 设置背景颜色(table表:{r,g,b,a})
love.graphics .setBackgroundColor ( r, g, b )
love.graphics .setBackgroundColor ( r, g, b, a )
love.graphics .setBackgroundColor ( table )
love.graphics .setBlendMode ( mode )
设置画布()–画在主屏幕上 设置画布(画布)–画在所指定的画布上
love.graphics.setCanvas()
love.graphics.setCanvas( canvas1, canvas2, ... )
love.graphics .setColor (0 , 255 , 0 , 255 )
love.graphics .setColorMask (r, g, b, a)
love.graphics .setDefaultFilter ( min, mag, anisotropy )
love.graphics .setFont ( font )
love.graphics .setInvertedStencil (stencilFunction)
love.graphics .setInvertedStencil ()
love.graphics .setLineJoin ("miter" |"none" |"bevel" )
设置线条风格(线条风格:”smooth”平滑|”rough”粗糙)
love.graphics .setLineStyle ("smooth" |"rough" )( "smooth" |"rought" )
love.graphics .setLineWidth ( 2 )
love.graphics .setPointSize ( 2 )
设置点风格(风格:”rough”粗糙|”smooth”平滑)
love.graphics .setPointStyle ( "rough" |"smooth" )
love.graphics .setScissor (0 , 0 , 100 , 100 )
设置着色器(着色器) 设置着色器()–禁用着色器,允许未过滤的绘画操作
love.graphics .setShader ( shader )
love.graphics .setShader ()
myStencil = love.graphics .setStencil ( stencilFunction )
love.graphics .setStencil ( )
设置线框(使用与否:boolean值)–只用于调试,勿作他用
love.graphics .setWireframe ( enable )
坐标系统
love.graphics .origin ()
love.graphics .pop ()
love.graphics .push ()
love.graphics .push ( stack )
love.graphics .rotate ()
love.graphics .scale ( sx, sy )
love.graphics .shear ( kx, ky )
love.graphics .translate ( dx, dy )
窗口
width, height = love.graphics .getDimensions ()
height = love.graphics .getHeight ()
width = love.graphics .getWidth ()