随笔分类 -  Lua

摘要:我的另外一个开源项目,任何建议、指正错误和优化我都非常欢迎 baibaibai_000@163.com 简介 扩展 可以扩展成战斗逻辑用lua编写的战斗验证服务器。这里展示了golang运行多个lua虚拟机,充分利用多核性能的个实现。 可以扩展用grpc做外部的可负载均衡的接口,我这里只简单的实现了 阅读全文
posted @ 2019-03-09 15:11 MrBlue 阅读(979) 评论(0) 推荐(0) 编辑
摘要:表格格式为 1、先给出用到的字符串处理函数代码 2、表格对象代码(class见我上上篇文章lua高阶用法 OO的实现) 3、给出读表器代码 4、使用代码 阅读全文
posted @ 2016-07-25 17:45 MrBlue 阅读(2162) 评论(0) 推荐(0) 编辑
摘要://Lua的类的实现,可以派生,可重写方法 //基类 子类 使用实例 转自http://blog.codingnow.com/cloud/LuaOO 阅读全文
posted @ 2016-06-28 13:11 MrBlue 阅读(1524) 评论(0) 推荐(0) 编辑
摘要:LuaComponent可以支持配一个需要执行在这个gameObject上的lua脚本,并且每个gameObject上的lua都是一个实例 lua脚本形如,记得最后一定要return 这个表 而且每个变量都得是local的 阅读全文
posted @ 2016-06-15 19:03 MrBlue 阅读(2179) 评论(0) 推荐(0) 编辑
摘要:说明:异步加载lua的bundle,会优先加载cache目录下bundle(一般更新的资源都在cache下) 使用代码 阅读全文
posted @ 2016-06-08 18:30 MrBlue 阅读(354) 评论(0) 推荐(0) 编辑
摘要:以前要导出c++类到lua,就得手动维护pkg文件,那简直就是噩梦,3.0以后就会感觉生活很轻松了。转载请注明出处http://www.cnblogs.com/mrblue/p/3637910.html下面我就在说下具体做法。1、安装必要的库和工具包,以及配置相关环境变量,请按照cocos2d-x-3.0rc0\tools\tolua\README.mdown说得去做,不做赘述。2、写c++类(我测试用的是cocos2d-x-3.0rc0\tests\lua-empty-test\project\Classes\HelloWorldScene.cpp)3、写一个生成的python脚本,你不会写 阅读全文
posted @ 2014-04-01 11:39 MrBlue 阅读(1130) 评论(3) 推荐(0) 编辑
摘要:记得把extern.lua拷贝到你的资源目录,这里要用到require "extern"MyLayer = class("MyLayer", function(fileName) return CCSprite:create(fileName) end)function MyLayer.CreateWithFile(fileName) local o = MyLayer.new(fileName) o.m_nA = 0 return oendfunction MyLayer:setVisible(flag) getmetatable(self... 阅读全文
posted @ 2014-03-20 18:36 MrBlue 阅读(505) 评论(0) 推荐(0) 编辑
摘要:转自http://hi.baidu.com/chevallet/item/9a3a6410c20d929198ce3363一些LUA函数 1、assert (v [, message]) 功能:相当于C的断言,当表达式v为nil或false将触发错误, message:发生错误时返回的信息,默认为"assertion failed!" 2、collectgarbage (opt [, arg]) 功能:是垃圾收集器的通用接口,用于操作垃圾收集器 opt:操作方法标志 "Stop": 停止垃圾收集器 "Restart": 重启垃圾收集器 阅读全文
posted @ 2014-02-14 17:48 MrBlue 阅读(1174) 评论(0) 推荐(0) 编辑
摘要:首先感谢下ZeroBrane Studio。这里拿cocos2dx/samples/Lua/HelloLua做例子来说明,其他的都是同样道理。1、下载调试Lua所需的IDE,地址在这。有经济实力的请支持这个他们这款牛逼的开源软件。然后解压(我的目录是C:\Users\bailu\Desktop\ZeroBraneStudioEduPack-0.39-win32)。2、开启调试服务器:运行zbstudio.exe->Project->Start Debug Server。如果你这是灰的说明已经开启了3、选择项目目录:Project->Project Directory-> 阅读全文
posted @ 2013-11-19 18:14 MrBlue 阅读(7380) 评论(0) 推荐(0) 编辑
摘要:转自:http://www.oschina.net/question/12_115993-- 两个横线是单行注释(译者注:这跟 SQL 一样)--[[ 增加两个 [ 和 ] 变成多行注释 我是多行注释:)--]]------------------------------------------------------ 1. 变量和程序流程控制 Variables and flow control.----------------------------------------------------num = 42 -- 所有的数值都是双精度的-- 别吓一跳,64位的双精度... 阅读全文
posted @ 2013-06-29 09:36 MrBlue 阅读(373) 评论(0) 推荐(0) 编辑
摘要:MyClass = { m_N = 0 } function MyClass:create() local o = {} setmetatable( o ,self) self.__index=self return oend function MyClass:SetN(n) self.m_N = nendSubClass = MyClass:create()SubClass.m_B = 30function SubClass:SetN(n) self.m_N = n*2 self.m_B = n*2end local a = MyClass:cre... 阅读全文
posted @ 2013-06-14 10:02 MrBlue 阅读(544) 评论(0) 推荐(0) 编辑
摘要:这篇教程是基于你的工程是cocos2d-x-lua的项目,我假设你已经完全驾驭cocos-x/samples/Lua/HelloLua工程,基本明白lua和c++互调的一些原理。我们的目的是要在lua中使用我们自己定义的类,并且这个类要导出到我们自己的module,意思就是说不是追加到LuaCocos2d.cpp里面,目的是为了使我们的module和coco2d的module完全分离,这样以后更新cocos2d-x版本时,对我们的module没影响。1、先在Classes文件夹下创建一个类Test(新创建的,名字都是都是自己定,你可以随意起,下面不赘述),代码就简单点,例如#ifndef _. 阅读全文
posted @ 2013-06-08 16:37 MrBlue 阅读(2522) 评论(6) 推荐(0) 编辑
摘要:2014/1/26 更新最近又发现了一个很简单的方法,其实coco2dx已经给我们提供设置loader的方法。注意:有个局限性,在非android平台下调用pEngine->executeScriptFile是不调用loader的,只有require这种才会调用loader。也就是说你直接executeScriptFile("main.lua")这个脚本不能加密,main.lua里面require的才能加密步骤如下:1、实现自己的loader(参考int cocos2dx_lua_loader(lua_State *L))#define CODE_MASK 250ex 阅读全文
posted @ 2013-06-06 19:15 MrBlue 阅读(10989) 评论(0) 推荐(1) 编辑