位置: 编程技术 - 正文

cocos2d-lua 学习笔记—1(cocos2dx4.0入门)

编辑:rootadmin
cocos2d-lua 学习笔记—、cocos2d-lua版本分类:普通版/Quick版,现在已经合并2、工程的创建a、Cocos Code IDE:配置环境后直接创建,如果需要创建xcode可以运行的工程,需要在Cocos Tools -> Add Native Code support...b、使用命令行 cocos new -p com.lsw.game -l lua -d . HelloWorld创建3、lua的绑定具体的原理可以参考网址:(Cocos2d-x下Lua调用自定义C&#;&#;类和函数的最佳实践) 3.6 lua -- Cocos如何绑定Lua自定义类) "cocos2d.h"class MyTestLua : public cocos2d::Ref {public: MyTestLua(){}; ~MyTestLua(){}; bool init() { return true; }; int func(int i); CREATE_FUNC(MyTestLua);};MyTestLua.cpp:#include "MyTestLua.h"int MyTestLua::func(int i) { return i &#; ;}(2)、跳转到工程目录下的文件夹 frameworks/cocos2d-x/tools/tolua,可以看到目录下有很多init的文件,这些就是我们需要绑定的所有的类的配置文件。还有一个genbindings.py的文件,这个python文件就是绑定需要的python文件。同时还需要注意的是运行这个python文件需要pyyaml、Cheetah这两个包,安装方法网上有很多。(3)、拷贝一个init文件,然后修改名字为我们需要的名字,比如MyTestLua.init(4)、修改MyTestLua.init文件的内容,主要是修改以下几个地方,init文件的内容参数具体的意义后面会介绍。[MyTestLua] prefix = MyTestLua target_namespace = lsw headers = %(cocosdir)s/../runtime-src/Classes/MyTestLua.hclasses = MyTestLua 完整的init如下:[MyTestLua]# the prefix to be added to the generated functions. You might or might not use this in your own# templatesprefix = MyTestLua# create a target namespace (in javascript, this would create some code like the equiv. to `ns = ns || {}`)# all classes will be embedded in that namespacetarget_namespace = lsw# the native namespace in which this module locates, this parameter is used for avoid conflict of the same class name in different modules, as "cocos2d::Label" <-> "cocos2d::ui::Label".cpp_namespace = android_headers = -I%(androidndkdir)s/platforms/android-/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc&#;&#;/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc&#;&#;/4.7/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc&#;&#;/4.8/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc&#;&#;/4.8/includeandroid_flags = -D_SIZE_T_DEFINED_ clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include clang_flags = -nostdinc -x c&#;&#; -std=c&#;&#; -U __SSE__cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/cocos/editor-support -I%(cocosdir)s/cocos/platform/androidcocos_flags = -DANDROIDcxxgenerator_headers = # extra arguments for clangextra_arguments = %(android_headers)s %(clang_headers)s %(cxxgenerator_headers)s %(cocos_headers)s %(android_flags)s %(clang_flags)s %(cocos_flags)s %(extra_flags)s # what headers to parseheaders = %(cocosdir)s/../runtime-src/Classes/MyTestLua.h# what classes to produce code for. You can use regular expressions here. When testing the regular# expression, it will be enclosed in "^$", like this: "^Menu*$".classes = MyTestLua# what should we skip? in the format ClassName::[function function]# ClassName is a regular expression, but will be used like this: "^ClassName$" functions are also# regular expressions, they will not be surrounded by "^$". If you want to skip a whole class, just# add a single "*" as functions. See bellow for several examples. A special class name is "*", which# will apply to all class names. This is a convenience wildcard to be able to skip similar named# functions from all classes.skip = rename_functions = rename_classes =# for all class names, should we remove something when registering in the target VM?remove_prefix = # classes for which there will be no "parent" lookupclasses_have_no_parents = # base classes which will be skipped when their sub-classes found them.base_classes_to_skip =# classes that create no constructor# Set is special and we will use a hand-written constructorabstract_classes = # Determining whether to use script object(js object) to control the lifecycle of native(cpp) object or the other way around. Supported values are 'yes' or 'no'.script_control_cpp = no(5)、修改genbindings.py文件cmd_args = {'cocos2dx.ini' : ('cocos2d-x', 'lua_cocos2dx_auto'), 'MyTestLua.ini' : ('MyTestLua', 'lua_MyTestLua_auto'), ... (6)、运行python genbindings.py,运行的过程中可能会有warning,可以忽略它们(7)、等待片刻后,查看cocos2d_lua_bindings.xcodeproj,在auto文件的目录中可以看到自动生成的lua_MyTestLua_auto.cpp和lua_MyTestLua_auto.hpp,将这两个文件添加到工程中(8)、在cpp文件中由于引用了MyTestLua.h这个文件,但是这个工程的头文件中并没有查找这个的路径。需要修改一下User Header Search Paths,添加路径$(SRCROOT)/../../../../../runtime-src/Classes(9)、添加测试例子function MainScene:myAdd() local t = lsw.MyTestLua:create() print("lsw myTestLua value is "..t:func())end在onCreate方法中调用 self:myAdd()()、运行工程可以看到输出 lsw myTestLua value is 这里只是实际操作lua绑定,具体的原理和解释还需要在仔细的研究。

推荐整理分享cocos2d-lua 学习笔记—1(cocos2dx4.0入门),希望有所帮助,仅作参考,欢迎阅读内容。

cocos2d-lua 学习笔记—1(cocos2dx4.0入门)

文章相关热门搜索词:cocos2dx lua教程,cocos2dx4.0教程,cocos2d教程,cocos2d-x教程,cocos2d教程,cocos2d-x教程,cocos2dx lua教程,cocos2dx lua教程,内容如对您有帮助,希望把文章链接给更多的朋友!

Cocos2dx物理引擎(一) cocos2dx在设计之初就集成了两套物理引擎,它们是box2d和chipmunk。我目前使用的是最新版的cocos2dx3.2。引擎中默认使用的是chipmunk,如果想要改使用box2d的

coco2dx 学习笔记 -- 进度动画 ccProgressTimer ccProgressTo ccProgressFromTo ccProgressTimer是进度条类,代表了一个进度条,进度条,分两种,一种是条形的进度条,一种是圆形的进度条。ccProgressTo是进度动画类,从零播放到指定

Cocos2dx 3.2移植到Android 完全可行的方法 非常感谢原作者,我按照他写的确实成功了,期间遇到一些问题也修改了下写下来,方便后来者。点击看原文。1、安装JDK(这个不多说了,你行的)2、

标签: cocos2dx4.0入门

本文链接地址:https://www.jiuchutong.com/biancheng/368788.html 转载请保留说明!

上一篇:cocos2dx3.6动作编辑器(cocoscreator动画)

下一篇:Cocos2dx物理引擎(一)(cocos2d-x引擎)

  • 印花税处罚适用征管法吗
  • 企业的进项税额怎么算
  • 怎样在网上申报营业执照年检
  • 哪些情况需要提高警惕小心毒品
  • 进口环节应纳消费税的计税依据为
  • 工资代扣的工会经费怎么做账
  • 合同解除收取对方的违约金交什么税
  • 个税个人减免
  • 应交税费会计科目借贷方向
  • 房贷利息抵个税细则 两套房
  • 记账凭证日期填写哪一天
  • 企业租赁集体土地种植经济林如何补偿
  • 融资租赁与按揭贷款区别
  • 计入无形资产
  • 生产中的原料回收如何做会计帐务处理?
  • 建筑图纸设计费包括晒图费吗
  • 哪些发票可以报销抵税
  • 企业咨询服务费合同
  • 企业季度所得税资产总额怎么填
  • 土地增值税哪些可以抵扣
  • 卖仪表赚钱吗
  • 无法支付的其他应付款可以用现金核销吗
  • 报税时利润表没写怎么办
  • 交易性金融资产公允价值变动计入
  • 加计抵减10%政策文件
  • ps4运行windows
  • windows11播放视频不清晰
  • 公司注册资金存在风险吗
  • 销售折扣的会计分录处理
  • 2020香港回归23年
  • yolov5s和yolov5m
  • php写一个函数,算出两个文件的相对路径
  • VS2022(Visual Studio)发布ASP.NET Core Web API应用到Web服务器(IIS)
  • 在申报季度企业所得税时,残疾人工资可以加计扣除吗
  • 找潜水员
  • 如何设置长期有效的群二维码安卓手机
  • 工资福利支出包括五险一金吗
  • kali linux如何使用
  • 深入浅出讲解傅里叶变换
  • 33.JavaScript映射与集合(Map、Set)数据类型基础知识介绍与使用
  • 工业企业采购流程
  • 哪些研发费用可以资本化
  • 合伙企业与公司一样具有高度的人合性
  • 固定资产租赁费的税率是多少
  • 现代服务增值税纳税义务发生时间
  • 购买股权溢价部分怎么做账
  • 新收入准则修订的目的
  • 开工程款发票有什么规定?
  • 开负数发票的规定是有?
  • 个税赡养老人分摊方式怎么更改
  • 财务报表审计的定义
  • 销售折扣购物卡对公司财务的好处
  • 增值税普通发票和电子普通发票的区别
  • 小规模纳税人能开专票吗2023
  • 购进国内交通运输产品
  • 施工企业如何确权
  • 向非金融企业借款会计分录
  • 小规模纳税人的认定标准是什么
  • 个体户开广告发票需要交税吗
  • 小规模季度没超过45万怎么纳税增值税
  • 暂估成本的两种形式
  • 坏账准备怎么计提比例
  • 正确使用显微镜的七个步骤
  • 删除数据库重复
  • freebsd怎么用
  • xp系统设置壁纸
  • windows10磁盘
  • linux扩容inode
  • win8.1拨号上网
  • win安装ie8
  • android:Background线程池和UiThread线程池
  • cocos 2d x
  • android开发步骤
  • 微信公众号开发多少钱
  • node发送短信
  • unity rp
  • jquery图片效果
  • js怎么获取密码框内容
  • js实现类
  • 陕西省国家税务总局班子成员
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设