love2d教程19--背包

本文介绍了如何在Love2D游戏中实现背包功能的改进,包括中文支持、内存优化及键盘控制的增强。通过自定义控件、封装类以及处理回调函数,实现了背包的简单交互功能,如物品选择、移动与交换。

    惭愧,在春节里一篇文章也没写,现在又回到学校了,继续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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值