zoukankan      html  css  js  c++  java
  • cocos2d-x中CCEditbox导出到lua

    自从工作后感觉时间较少(每天工作9-22,晚上就不想动了,早上想多睡点),工作中用的是

    cocos2d-x。cocos2d-x是一款手机游戏引擎,虽然支持lua,但和love2d相比非纯lua游戏引

    擎,不过很容易把C++里的类导出到lua。(虽然cocos2d-x比love2d更流行,工具和教程更

    多,我还是会继续更新love2d相关的,因为特别喜欢love2d的小巧。)

    cocos2d-x集成了tolua++,tolua++是一款把C++类导出到lua的工具。该工具使用的一般

    流程是:

    1、制作pkg文件,pkg文件就是你需要要导出的函数和类,基本和头文件一致

    2、使用tolua++.exe 从pkg文件生成其对应的C/C++源文件,如tolua++-o test.c test.pkg

    3、把生成的源文件加入工程,并在链接里加入lua和tolua++的库

    其实tolua++就是自动帮我们完成了C/C++到lua的绑定,之后我们就可以在lua里调用C/C++

    里的函数。

    在cocos2d-x里就比较方便了,只需要在“tools olua++”,里添加你要导出的类的pkg,

    同时在Cosos2d.pkg里包含你自己的pkg,即$pfile "test.pkg",还有在LuaCocos2d.h里添加

    这个类对应的头文件,即#include "test.h",最后运行 build.bat。

    注意一下类的继承,如果你导出的类是A的子类,那么也要把A类导出

    下面是CCEditBox导出到lua的pkg,CCEditBox涉及到了多个类所以较长。

    CCScale9Sprite.pkg,先要导出CCScale9Sprite

    CCEditBox继承的几个类我全放到CCEditBox.pkg里了

  • 相关阅读:
    输入输出重定向
    进程管理
    普通变量_环境变量_环境变量配置文件
    高级文件操作命令_文件查找
    软件包管理_rpm命令管理_yum工具管理_文件归档压缩_源码包管理
    用户管理_组管理_设置主机名_UGO_文件高级权限_ACL权限
    字符串是否包含中文
    SQL 优化
    JS数组
    RedisUtil 工具类
  • 原文地址:https://www.cnblogs.com/xdao/p/3207912.html
Copyright © 2011-2022 走看看