love2d杂记2--剪切系数,自定义鼠标和直版循环图
剪切系数
终于找到了love2d里love.graphics.draw()中shearing factor的解释,至于具体
是什么还是不知,涉及到矩阵变换,这里是链接,另外还有一个专业的数学网站。
shearing factor的kx为正时图形以ox,oy为中心会向左偏,为负右偏;ky为正时
向下偏,为负上偏。
自定义鼠标
这个是在老外的博客上看到的,实现如下,不是很难。
cursor:getWidth() / 2, love.mouse.getY() 是设置图片中心。
function love.load() cursor = love.graphics.newImage("crosshair.png") --自定义鼠标图片 love.mouse.setVisible(false) --设置鼠标不可见 love.mouse.setGrab(true) --捕获鼠标 end function love.draw() --绘制鼠标 love.graphics.draw(cursor, love.mouse.getX() - cursor:getWidth() / 2, love.mouse.getY() - cursor:getHeight() / 2) end
直版循环图
就是指可以循环播放上下相连,一位网友问到过,顺便写一下。
刚开始时,我用了一些变量来判断临界点,后来发现很麻烦,想了一下发现
其实只要后面的图片与前面的图片的位移差为屏幕宽就可以了,还是物理有用啊!
代码如下:
function love.load() screenWidth=love.graphics.getWidth( ) img=love.graphics.newImage("box1.png") width=img:getWidth() height=img:getHeight() --图片坐标 px1=400 py1=200 px2=px1-screenWidth py2=200 dw=100 --图片的移动距离 end function love.draw() love.graphics.draw(img,px1,py1,0,1,1,width/2,height/2) love.graphics.draw(img,px2,py2,0,1,1,width/2,height/2) end function love.update(dt) --只要让两者之间的位移差为屏幕就可 if px1<screenWidth+width/2 then px1=px1+dt*dw else px1=px2-screenWidth end if px2<screenWidth+width/2 then px2=px2+dt*dw else px2=px1-screenWidth end end
作者:半山
出处:http://www.cnblogs.com/xdao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。