
Lua
九嶷山
认真做事 用心做人
展开
-
Lua和C++交互机制详解
一、Lua堆栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶。如图: lua的栈类似于以下的定义, 它是在创建lua_State的时候创建的: T...转载 2018-05-18 09:41:48 · 330 阅读 · 0 评论 -
lua 事件分发器实现
lua 观察者模式-- 事件分发器实现--EventDispatcher.lualocal EventDispatcher = {}EventDispatcher.__index = EventDispatcherfunction EventDispatcher:new() local store = nil return function(self)...原创 2019-04-10 09:32:14 · 1000 阅读 · 0 评论 -
Quick-x UI容器项拷贝
Quick-x中,ListView:pushBackCustomItem()以及Widget:Clone(),均会导致模板控件中事先保存的自定义属性消失。这使得我们要每次克隆时需重新获取子控件引用。本文提供一个解决方案。问题描述使用ListView时,通常有两个部分,一个是List容器本身,另一个是子项模板Templete。Templete上有一些控件与数据相关联,比如背包物品的图标(Image...原创 2019-04-04 14:29:20 · 208 阅读 · 0 评论 -
登录系统
流程:各模块组成如下,layers放UI界面文件,logic放逻辑处理文件,这样界面跟逻辑分开方便各自独立处理。service下的Net可以用来接收客户端发的消息,再发给服务器,而eventManager是负责把服务器返回的消息分发给modules下相应的模块。modules用于放各个模块,如登录、商店等,用来接收eventManager分发来自服务器返回的消息。share下...转载 2019-03-26 10:02:15 · 572 阅读 · 0 评论 -
cocos2d-lua 集成protobuf
1.下载相关文件https://github.com/google/protobufhttps://github.com/sean-lin/protoc-gen-luahttps://github.com/google/protobuf/tree/v3.1.0 上把3.10 下来得到 protobuf-master2.编译得到protoc.exe 文件这个文件可以在http...转载 2019-03-16 19:08:41 · 857 阅读 · 0 评论 -
编写高性能的Lua代码
前言Lua是一门以其性能著称的脚本语言,被广泛应用在很多方面,尤其是游戏。像《魔兽世界》的插件,手机游戏《大掌门》《神曲》《迷失之地》等都是用Lua来写的逻辑。所以大部分时候我们不需要去考虑性能问题。Knuth有句名言:“过早优化是万恶之源”。其意思就是过早优化是不必要的,会浪费大量时间,而且容易导致代码混乱。所以一个好的程序员在考虑优化性能前必须问自己两个问题:“我的程序真的需要优化...转载 2019-01-08 15:28:07 · 485 阅读 · 0 评论 -
Lua语法 垃圾回收collectgarbage
Lua垃圾回收只有一个函数collectgarbage,第一个参数是字符串,代表操作类型,第二个参数只有某些操作有,是该操作所需要的参数。 操作类型:stop停止垃圾收集。restart重启垃圾收集。collect执行一个完整的垃圾收集循环。count返回当前使用的内存,单位为千字节。step单步执行垃圾收集,第二个参数代表多少步。如果步长可以完成一次垃圾收集,则返回t...转载 2018-09-17 09:54:34 · 9269 阅读 · 0 评论 -
在lua5.3 使用 zrong 和ByteArray
1. lua 5.3 string.pack 和 string.unpackhttp://cloudwu.github.io/lua53doc/manual.html#6.4.2 用于 string.pack, string.packsize, string.unpack 的第一个参数。 它是一个描述了需要创建或读取的结构之布局。格式串是由转换选项构成的序列。 这些转换选项列在后面...转载 2018-08-06 11:26:25 · 704 阅读 · 0 评论 -
Lua C++交互机制
一、Lua与C++的交互机制——Lua堆栈1)交互机制Lua和C++ 的交互机制的基础在于Lua提供了一个虚拟栈,C++ 和Lua之间的所有类型的数据交换都通过这个栈完成。无论何时C想从Lua中调用一个值,被请求的值将会被压入栈,无论何时C想要传递一个值给Lua,首先将整个值压栈,然后就可以在Lua中调用。 栈中每个元素都能保存任何类型的Lua值(实际上Lua的任何类型的值包括字符串、表等等,最终...转载 2018-05-18 10:06:30 · 247 阅读 · 0 评论 -
CocoStudio导出的LUA文件使用
首先导出的LUA文件是这样的箭头指向的位置有个Create函数。就是调用这个函数进行创建。(至于这个参数是啥玩意,后边会讲到)首先,先将导出的这个文件require进来,进来之后呢,调用create方法,就会返回Cocos创建的Scene了~代码如下:local csLuaScene = require("Scene.lua").create()然后create 方法返回的结...转载 2019-09-28 14:09:32 · 588 阅读 · 0 评论