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

直版循环图

就是指可以循环播放上下相连,一位网友问到过,顺便写一下。

刚开始时,我用了一些变量来判断临界点,后来发现很麻烦,想了一下发现

其实只要后面的图片与前面的图片的位移差为屏幕宽就可以了,还是物理有用啊!

mm

 

 

代码如下:

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值