LOVE2D-04-加载文字和图片

来源:互联网 发布:天龙八部2 源码下载 编辑:程序博客网 时间:2024/06/05 10:50

**

1.图片的加载主要用love.graphics模块来进行调用

**
love.graphics
模块的主要负责线形状、文本,图像和其他冲物体在屏幕上的绘制。次要加载外部文件(包括图像和字体)到内存,创建特定的对象(如particlesystems或Canvases)和管理屏幕几何。

Love2D的坐标系统是对象在屏幕的左上角的位置,如(0,0)。X轴是水平线,Y轴是垂直线,和 数学上的一样。
这里写图片描述
graphics模块共有14种类型、5种function,绘图函数共有以下7个,5种functionqiz其中之一(具体信息见API文章)

love.graphics.arc 绘制弧形。
love.graphics.circle 绘制圆。
love.graphics.clear 清除屏幕背景颜色。
love.graphics.discard 清除场景内容或活动的canvas。
love.graphics.draw 绘制对象
love.graphics.drawq 绘制指定图像的四边形
love.graphics.ellipse 绘制一个椭圆。
love.graphics.line 画线
love.graphics.point 绘制一个点。
love.graphics.points 一个或多个点。
love.graphics.polygon 绘制多边形。
love.graphics.present 显示屏幕上的绘图操作的结果。
love.graphics.quad 画一个四边形。
love.graphics.rectangle 绘制一个矩形。
love.graphics.stencil 绘制几何作为一个模板。
love.graphics.triangle 绘制一个三角形。

调用形式为love.graphics.line()
图像绘制在屏幕上后,图像会一直存在,直到执行到清除命令,不需要每次绘制,所以需要时才绘制。
我们在main.lua中加入代码:

function drawGraphics()    love.graphics.setBlendMode("alpha") --默认混合模式    love.graphics.setColor(230, 44, 123)    love.graphics.rectangle("fill", 50, 50, 100, 100)    love.graphics.setColor(12, 100, 230)    love.graphics.setBlendMode("multiplicative")    love.graphics.rectangle("fill", 75, 75, 125, 125)end--你可以自己动手设置各种属性,看看效果function useDefaultFont(text,x,y,size)     love.graphics.setColor(255,0,0)     love.graphics.setBlendMode("alpha")     --love.graphics.setColorMode("combine")    love.graphics.print("default font size is 12",x,y)    local font = love.graphics.newFont( size )    love.graphics.setFont(font)    love.graphics.print(text,x,y+size)endfunction useTTFFont(text,x,y,size)    local font=love.graphics.newFont("assets/mona.ttf",size)    love.graphics.setFont(font)    love.graphics.print(text,x,y)end/*--imagefont实际是一副有序的字符图function useImgFont(text,x,y)local font = love.graphics.newImageFont("assets/imagefont.png",    " abcdefghijklmnopqrstuvwxyz" ..    "ABCDEFGHIJKLMNOPQRSTUVWXYZ0" ..    "123456789.,!?-+/():;%&`'*#=[]\"")love.graphics.setFont(font)love.graphics.print(text, x, y)endfunction love.load()    love.graphics.setBackgroundColor(54, 172, 248)endfunction love.draw()    drawGraphics()    useDefaultFont("hello",210,100,20)    useImgFont("world",210,140)    useTTFFont("中文",210,160,18)endfunction love.update(dt)endfunction love.keypressed(key)end

2.文字的加载

文字可以用love.graphics.print()或love.graphics.printf()进行打印显示
两者都可以进行字体设置,love2d中自带了一个ttf字体:love._vera_ttf–(Bitstream Vera Sans)
当然也可以使用imagefont字体

function love.draw()    drawGraphics()    useDefaultFont("hello",210,100,20)    useImgFont("world",210,140)    useTTFFont("你好世界",210,160,18)end
0 0
原创粉丝点击