摘要:
转载:来自朱大仙,感谢他的博客,并让我发布。hump.timer是一个很强大的模板.是一个老外写的. 源博客请点这里hump.timer是hump的系列之一.hump 还有许多不为人知的功能.英文好的或善于阅读网页翻译的同学可以去看源博客.hump.timer提供了一个简单的安排时间的执行函数。可以在一些时间后运行功能。例如,可以设置一个计时器,每5秒移动敌人一次或玩家在短时间类无敌。模板名称new()创建新的定时器对象add()添加一个函数addPeriodic()添加一个周期函数do_for()在接下来的几秒运行一个函数cancel()取消预定的函数clear()删除所有的定时器和周期函数 阅读全文
摘要:
之前写过一篇背包的文章,不过有很多功能没完善,后来又修改了一下,效果如上图:下面我说一下思路:首先模仿loveframe创建一个自定义类,selectbox选择框,可以移动并返回每次停留的id,以及选中的id,交换的id。再创建一个equip装备类,装备类保存装备的名称、描述、属性。最后创建一个包围盒bagbox,它把frame、imagebutton、panel、text、selectbox组合起来,imagebutton的图片使用equip里的图片,text的文字使用equip的属性。按键说名:s选择交换(第一次选择,第二次交换)、a添加、d删除、q隐藏。代码不贴了,下载地址。 阅读全文
摘要:
最近google reader要关闭了,于是迁移到了有道阅读器,感觉速度比google reader强点,还有支持自家的有道词典,但是对rss的兼容性不好,csdn上的博客我就没添加成功,好在博客园的博客rss支持。还有一点我找了它的帮助文档居然没有介绍快捷键,于是我就一个一个键盘的尝试,找到了以下快捷键:f 全部标记已读 m 当前标记未读 j 空格 (显示全文) n 下一条 (显示标题) k 上一条 (显示全文) p 上一条 (显示标题) s 加入收藏 a 添加订阅 r 刷新 b 发送的网易博客 e 发送到邮件 t 添加标签 u 关闭/开启侧栏 1 显示全文 2 显示标题 d 有道词典 .. 阅读全文
摘要:
来自老外博客,鼠标拖动原文链接,发光效果原文链接。鼠标拖动这个就是检测鼠标是否在绘图区域按下,还要注意拖动时的坐标要减去鼠标坐标与绘图区左顶点的差值。function love.load() rect = { x = 100, y = 100, width = 100, height = 100, dragging = { active = false, diffX = 0, diffY = 0 } }end function love.update(dt) if rect.dragging.active then rect.x = love.mous... 阅读全文
摘要:
这个网站是一个老外的博客,有很多关于lua和love2d的内容,可惜被墙了。这几天也不知道如何继续love2d,便想着干脆捡一些有用的简单翻译一下,或许能产生点灵感。对于lua而言我感觉最强大的就是它的table了,有点lisp里的表的感觉。简译如下,原文在此。作为一个创建自定义数据结构的例子, 我想你得先了解一些关于链表的实现 linkedlists 。注意这并不是一篇深入的教程,大部分情况下我会展示一些代码片段。链表是很好的数据结构,可以完美的实现高效的添加,删除,遍历。唯一的缺点是你不能通过索引查找元素。有多种链表,最常见的两种是单链表、双链表。各种链表都有一堆节点,并维持着指向节点之间 阅读全文
摘要:
剪切系数终于找到了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.p 阅读全文
摘要:
今天花了点时间把输入法修正了一下,可以删除中文了。其实lua可以直接使用string.sub()来截取汉字字符串(注意此时一个汉字占两个字节),love里也可以用,不过在回调函数里的循环里一用就提示内存不够,不知为什么。后来我突然想到何不用table试试,于是重新改写了一下,终于完成了,并提供了供其它类调用的借口,方便移植。其实输入法关键是词库,我只是用的在网上找的一个文本格式的词库,然后改成了lua的table。代码注释的很详细了,我就不多说了。功能如图:(首先按f12键开启输入法)支持输入汉字、小写字母、数字、空格、英文的逗号和句号,"-"键上翻页,"=&qu 阅读全文
摘要:
以前我看的qt书是《C++ GUI Qt4编程》,可是看第四章后就卡住了,一直也没怎么看后来找到了《24小时学会qt编程》,感觉很对我的口味,只可惜是qt2的版本,很多代码都编译不过,于是又舍弃了。现在用qt做嵌入式开发,那就顺便把qt再学一遍。需求如下:有一个主窗口,上面有五个按钮分别对应五个不同的功能,点击一个按钮便把主窗口影藏,并显示按钮对应的子窗口。 单击子窗口的关闭按钮时,把子窗口关闭,并显示主窗口。网上对这种的方式的实现都比较复杂,我主要是把父窗口指针传给了子窗口,也不知到对否,望高手指点。示例如下://父窗口类class Mw:public QMainWindow{.....vo 阅读全文
摘要:
所谓杂记指不成系列的,主要记一些在官方论坛看到好玩内容,及一些想法。虽然love2d没有提供播放视频的函数,不过我在她的论坛里看到有些hacker实现了用纯lua播放视频,原理这是把视频文件转换成许多帧图片和音频,然后控制音频和图片的播放。需要用到其它软件,而且特别的占内存,我觉得只能播放很小的视频片段,不是很有用,原文在此。由于不实用,过程比较麻烦,我就不写过程了,给出两个作者制作好的love文件,清晰版,模糊版。我在金庸群侠传sdl版里发现它用的是smpeg来播放视频,到时候看可不可以把smpeg合到love里。 阅读全文
摘要:
一、安装交叉编译器交叉编译器指运行在宿主机上但是编译后的程序运行在目标机上(或模拟器)的编译器。可以通过crosstool来自己制作交叉编译器,不过曾经自己制作的麻烦经历让我放弃了再次制作的想法,于是使用了ok6410自带的编译后的交叉编译器。由于自带的是x86-arm的,如果你用64位的系统,可以参考我的这篇文章linuxdeepin64位安装32位软件。二、编译qtopia4.4.31、按照官方的文档,连configure都没通过,于是搜索,发现是已经安装了qt的原因,于是把qt卸载了,还是错误,只好把与qt相关的都卸载了,居然把我的vlc播放器都删除了,不过最后两个小时后,顺利编译成功, 阅读全文