[SheRO]Lua框架搭建的一点思路

本文分享了使用Lua搭建游戏框架的经验,包括将Lua作为数据库、地图初始化、触发器和AI的功能实现。通过Lua实现游戏的数据库存储,地图加载,主动与被动触发器,以及怪物AI的决策模块。示例介绍了Boss关卡的设计,强调了Lua在提高游戏可玩性和灵活性方面的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

脚本的搭建真的是件非常具有创造性的事情,也是游戏开发里最核心的技术活,因为它是整个游戏的发动机,粘合剂,涉及整个游戏的方方面面。一般还集成在地图编辑器里,比如War3,RPGMaker这些。总之,把脚本框架搭好,我个人认为是一个好游戏必备的核心要求。

今天刚把SheRO的Lua框架搭完,觉得用来创作自己的小游戏完全够用了。还是记一些思路吧,仅供参考,不涉及源码及Lua与C++集成这些,因为我觉得这些开源后就能看明白的,而且我用的是LuaPlus。实在没啥讲的。

我在SheRO里暴露给Lua的函数有这些,分为3个模块,GameLogic,GameView,Audio。

GameLogic::GetPos(param)      --获得某个Entity的Pos
GameLogic::SetPos(param) --设置某个Entity的Pos
GameLogic::GetAttribute(param)--获得某个Entity的属性
GameLogic::SetAttribute(param)--设置某个Entity的Pos
GameLogic::CreateEntity(param)--创建一个Entity,Npc,Mob等
GameLogic::RemoveEntity(param)--删除一个Entity
GameLogic::ChangeEntityState(param)--更换一个Entity的状态机
GameLogic::ChangeMap(param) --更换地图

GameView:Talk(param) --显示一个Npc对话框直到所有语句显示完毕
GameView:AddEffect(param) --显示一个特效

Audio:AddAudio(param) --播放一个音效


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值