游戏脚本使用经验记录

脚本对游戏有什么用?可以让游戏程序,从各种繁琐重复的游戏逻辑里面解放出来。简单举个例子:一个副本关卡,怪物应该怎么走路,说什么话,放什么技能。这些只要提供了相应的接口之后,脚本策划就可以根据自己的想法任意的发挥。这中间少了沟通成本,也方便游戏策划创意的发挥。另外因为脚本是不需要编译成二进制文件就可以执行的,所以可以用来做热更新(虽然我基本不这样用)

脚本在游戏怎么用?游戏的后台多数使用c++开发语言,就拿我之前做过的一款端游为例子使用了是 luabind第三方库,这个库使用起来还算比较方便,网上有下载,但好像不怎么更新了。但该库我们在线上应用过一款几十w在线的端游,稳定性没什么问题。具体的原理就是所有用cpp定义的类接口,都可以注册到lua脚本环境中,让脚本调用,同样脚本定义的函数也可以被cpp调用。下面是一个怪物AI脚本,通过 LUABIND_REGISTER_CLASS_FUNC可以向脚本中注册对应的cpp类。

Monster.Cpp文件:怪物AI

class CMonsterAI : public CGameAI

{

  public:

      uint32 GetHP();

      uint32 GetMP();

        void AddSkill(uint32 unSkillID, uint16 uLevel); 

        void UseSkill(uint32 unSkillID, uint16 uLevel);

};

向lua注册cpp类:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值