关于tolua的使用】的更多相关文章

本文基于 https://github.com/chiuan/TTUIFramework https://github.com/jarjin/LuaFramework_UGUI 进行的二次开发,Thanks! 需求: 1.需要一个UI面板管理器,逻辑写在lua里面,方便热更新. 2.管理器控制面板的打开(show),隐藏(Hide),销毁(Destroy),刷新(Rest). 3.要有类似网页浏览器那样,点击后退(<---),会显示上一个页面.用到数据结构:栈(Stack),先进后出.打开顺序是…
cocos2dx 3.x 版本已经出到3.10了,终于决定要进行引擎版本升级,c++配合lua进行游戏开发,从3.x版本开始cocos使用了新的tolua方式,由于不懂python,折腾tolua搞的心累,网上各种百度搜索了半天也不见一个系统的教程,在这里我把这两天的工作总结下,希望有碰到同样问题的朋友能够快速解决. 先说下,系统Mac OS 10.10,cocos引擎版本3.10,ndk使用r10e,python2.7. 1.配好环境变量,NDK_ROOT,COCOS2D-X相关的环境变量自行…
项目正在使用cocos2dx的lua绑定,绑定的方式是tolua++.对大规模使用lua代码信心不是很足,花了一些时间阅读tolua++的代码,希望对绑定实现的了解,有助于项目对lua代码的把控.从阅读结果上来看,起码在内存管理上,帮助还是很大的. 1.tolua++如何将c++对象导入到lua里 tolua++为每一个传入lua的对象建立一个userdata,userdata的值,是c++对象的地址.userdata的metatable,是一个tolua++建立的,记录了userdata对应c…
using UnityEngine; using System.Collections; using LuaInterface;//tolua 空间引用 using DG.Tweening;//DOTWEEN 空间引用 public static class MyExt{//扩展方法必须在静态类中 public static Transform LQDoMove(this Transform root, string str){//必须为静态方法, 第一参数为 this Transform, c…
local name = (tolua.cast(sender, "ccui.Button")):getTitleText()…
cocos2dx的3.x版本已经提供了更好地绑定方式,网上有很多相关的教程,这里给一个链接:http://www.cocoachina.com/bbs/read.php?tid=196416. 由于目前我们的项目使用的是2.x版本的,且已经开发了一半了,这时候不适合转3.x的版本,于是只能用2.x的老方法tolua++来实现绑定.这就有一个蛋疼的问题,太麻烦!每次都要写pkg.使用tolua++.exe解释器编译生成新的cpp,在其中添加自己的类的头文件引用,然后把这个新的cpp文件覆盖到lib…
初始项目搭建 clone官方库 新建unity工程 依次把官方库里的Assets和Unity5.x/Assets拷贝到项目Assets里 打开unity工程, 开始逐个学习例子,例子目录: 1. hello world 新建luaState 执行字符串命令print ('hello tolua#') unity的console里找到输出结果(找的不是很容易呀) 2. run scripts from file 添加源码建search path 读取执行lua源文件 脚本内容 添加脚本搜索路径到l…
步骤一:首先自定义类(这里Himi自定义类名 “MySprite”) MySprite.h 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // //  MySprite.h //  mtet // //  Created by Himi on 13-4-7. // //   #ifndef __mtet__MySprite__ #define __mtet__MySprite__   #include "cocos2d.h" using…
tolua 提供几个 C++ 与 Lua 进行数据交换的工具函数. ~~ tolua.type 返回一个 C++ 对象的类型描写叙述字符串. local node = display.newNode() print(tolua.type(node)) -- 输出 CCNode ~~ tolua.cast 强制转换对象类型.用途请參考 CCArray. 格式: tolua.cast(对象, 类型名称) ~~ tolua.isnull 检查指定 Lua 值中保存的 C++ 对象是否已经被删除. 我们…
正在使用cocos2dx的tolua binding在此过程中发现的一个问题.假设一回或输入是std::string当我们不同意包括二进制数据,和std::string我同意,这样一来就导致了不正确的使用等.这可能会导致一系列的问题,特别是,我们需要使用std::string议信息的时候. 造成问题的解决办法是tolua生成的代码对于std::string都没有添加length參数,这样就造成了一旦是二进制数据而且遇到\0就会被截断. 改动的办法事实上也非常easy,仅仅须要改动一下basic.…