了解到lua的一个protobuf库,接口帅气,比之前用过的一些lua protobuf库要好很多,深得我心.而且能保持更新,比其他库几年没更新要放心. lua-pb动态解析protobuf协议,无需生成一大坨难看的预定义lua代码,要的就是这个帅气清爽. lua-pb需要用到lpeg和struct2个c库,因此你自己项目基本需要重新编译一遍. 我用的是slua,不熟,找slua的c代码都费了很久,结果竟然在slua工程下的build目录下找到,话说在群里随口问问竟然无一人热心解答,人心不古.…
lua 标签解析器 概述 一个类xml标签解析函数,将标签解析成Lua中的表结构它可以用来解析简单xml结构,可以作为RichLabel控件的字符串解析组件(其实它现在就是这么用的;-)) 原理 使用lua的模式匹配, 使用了模式串%b<>%b用来匹配对称的字符.常写为 %bxy,x和y是任意两个不同的字符. x作为匹配的开始,y作为匹配的结束.比如,%b<> 匹配以 < 开始,以 > 结束的字符串 要解析的字符串 hello world <div>hell…
cocos2d-x lua 中使用protobuf并对http进行处理 本文介绍 cocos2d-x lua 中使用http 和 基于cocos2d-x 对lua http的封装(部分ok) 本博客链接 http://blog.csdn.net/vpingchangxin/article/details/24458051 protobuf  Google的一个非常好用的数据传输的封装 说实话Google的东西确实比較好用 所以我们前后端数据交换就用他了 只是Google没有对lua进行支持 还好…
花了几天时间看了下cocos2d-x lua绑定那块,总算是基本搞明白了,下面分三部分解析lua绑定: 一.lua绑定主要用到的底层函数 lua绑定其本质就是有一个公用的lua_Stack来进行C和Lua之间的值传递,在路径[项目根目录]\frameworks\cocos2d-x\external\lua\luajit\include下有个lua.h文件,大部分lua绑定底层函数以及相关的常量都在这里. 1.lua堆栈常量 #define LUA_REGISTRYINDEX (-10000) /…
1.原理 就是通常在Lua框架中所说的,开放一个C#的web接口,或者叫做在Slua框架中注册函数. 2.作用 在Lua中调用C#中的方法,这个是在做热更新中很常用的一种方法,无论是slua,还是lua,都差不多.这里,我拿slua举例. 3.实际运用 举例:如何在Slua中打印Log 原理:其实是slua通过调用C#中的Debug.Log方法实现的打印,并不是说是lua中的打印方法起到作用. 步骤: 首先,既然是Lua调用C#中的方法,这里自定义写一个打印log的方法. public clas…
slua本身并不提供如何把一个lua文件绑定到一个预制中,就像一个普通的继承自monobehavior的自定义脚本那样,而tolua的框架却采用了拙劣的做法: public class LuaBehaviour : Base { private string data = null; private AssetBundle bundle = null; private Dictionary<string, LuaFunction> buttons = new Dictionary<str…
lua语言作为一门轻量级脚本语言,能够非常好的被嵌入到应用程序,因此,在移动游戏开发中举足轻重 然后C/C++开发人员转lua并非非常习惯,我也是..所以,一起努力学习lua吧 lua没有类的概念,有table的概念 <span style="font-family: monospace; white-space: pre; background-color: rgb(240, 240, 240);">function create(name,id) </span&g…
最近一段时间接手了一个cocos游戏项目,由于我是U3D开发入门,所以花了一段时间来钻研cocos2d的使用与项目架构.与U3D相比,cocos2d的开发界面实在做的不咋地.不过在看过源码之后,源码跑起来还是比较稳健的,在此基础上做些修改也无不可. 言归正传,先从底层工具入手,逐步解析整个项目.关于整个项目的结构,有时间我会专门记录一下.不过最近要修改客户端部分,所以优先以战斗逻辑为主.这里要记录的是UI底层部分的代码. 先写下项目中自己定义的几个方法,其余方法均引自framework,就此不再…
好久没写博客了,主要是这一年技术没啥长进都打杂了,还有就是生活琐事越来越多,人也越来越懒了…… 之前项目中用到了Protobuf,然后测试发现这玩意不好测,总不能每次定个协议或者改下都要编译Java代码吧.于是我这边写了简单的工具,动态的解析PB文件.效果如下: “选择请求协议”和“选择响应协议”就是选择定义的PB,比如下面这个文件: package perf.pb; option optimize_for = LITE_RUNTIME; message Entry { required str…
http://blog.csdn.net/janeky/article/details/17104877 个游戏包含了各种数据,包括本地数据和与服务端通信的数据.今天我们来谈谈如何存储数据,以及客户端和服务端的编码方式.根据以前的经验,我们可以用字符串,XML,json...甚至可以直接存储二进制.各种方式都有各自的优劣,有些性能比较好,但是实现方式比较麻烦.有些数据冗余太多. 简介 今天我们来学习一种广泛使用的数据格式:Protobuf.简单来说,它就是一种二进制格式,是google发起的,目…