love2d教程19--背包

    惭愧,在春节里一篇文章也没写,现在又回到学校了,继续love2d教程。由于我
只是现看现写,有些地方可能错了,希望大家指正,我会及时修正。这篇文章主要关
于loveframes的应用,是按网友朱大仙要求写的,原文在此
    背包功能是通过loveframe来实现的,loveframes其实是支持中文的,只需要修改
loveframes中的init.lua和skins目录下的皮肤文件夹中的skin.lua的字体设置。我另
外建了一个font.lua来保存全局的字体配置,在init.lua和skin.lua里使用全局字体,
这样可以减少内存的消耗,也便于管理。
    做的不怎么样,很多地方都不行,现在也懒得修改了,不过等以后正式开始做rpg
游戏时,会继续完善。效果如图,按s键选择物品可以交换,按方向键移动,

aa
按enter键选中,简单的说一下思路:

    1.先自定义一个loveframes控件,参考objects下的控件格式,这里我自定义了一
    个选择框控件boundrect,修改自imagebutton。
    2.按照要求组合控件,并把它封装成类,这里是BoundBox。它使用了frame,panel
    ,imagebutton,text,panel。
    3.处理回调函数。注意在update和draw。

    由于imagebutton不支持空图片,便无法交换有图和无图的,后来朱大仙把他修改后的

发给我,发现他使用了透明图片,这确实是个不错的主意。
    不知是我代码的问题还是loveframes的问题,frame显示的效果居然没有边框。还有
一点loveframes不支持键盘控制,我给作者留言希望他增加键盘支持,作者回复键盘控制
会做的,只是他没想好怎么做,希望loveframes越来越好。

由于代码比较多,就不贴了。

代码下载(已clone的直接git pull)
git clone git://gitcafe.com/dwdcth/love2d-tutor.git
或git clone https://github.com/dwdcth/mylove2d-tutor-in-chinese.git

posted @ 2013-02-28 17:30  半山th  阅读(1235)  评论(0编辑  收藏  举报