Lua
文章平均质量分 77
蝶泳奈何桥.
这个作者很懒,什么都没留下…
展开
-
lua-调试技巧
明文lua的方式,可以直接将项目内的lua脚本用adb命令拷到包体目录下,然后重启游戏or重启lua虚拟机。在[pc端editor模式](#pc端editor模式)测试脚本上增加一个全局方法。动态执行的脚本,再次动态下载其他逻辑脚本,这样会重写lua方法,达到实时刷新脚本逻辑。游戏lua脚本调试技巧,达到修改逻辑脚本后能实时生效执行,提高开发效率。游戏调试ui按钮上去执行一个下载测试脚本,并执行。,用来web执行。新建一个测试代码脚本。...原创 2022-07-23 12:44:25 · 1752 阅读 · 0 评论 -
unity-lua单元测试
title: unity-lua单元测试categories: Unity3dtags: [unity, tolua, 单元测试]date: 2022-01-02 12:19:51comments: falsemathjax: truetoc: trueunity-lua单元测试前篇这里说的单元测试并不是真正意义上得单元测试, 只是为了开发中能不重启进程, 动态执行一些测试代码, 不然有些测试重现场景可能会比较耗时, 因此就需要有一种功能可以动态执行一些测试代码来验证是否能达到预.原创 2022-01-02 12:40:50 · 1663 阅读 · 0 评论 -
unity-tolua之释放引用实测
title: unity-tolua之释放引用实测categories: Unity3dtags: [unity, tolua]date: 2021-12-11 17:08:58comments: falsemathjax: truetoc: trueunity-tolua之释放引用实测, 主要是验证是否能够解开 lua 与 csharp 之间的引用, 进而被对应 gc 回收.前篇unity-tolua之Dispose释放引用目的是测试 csharp 中的 lua 相关导出.原创 2021-12-11 17:58:40 · 2196 阅读 · 0 评论 -
unity-tolua集成pb3支持
title: unity-tolua集成pb3支持categories: Unity3dtags: [unity, pb3, tolua]date: 2021-11-18 10:45:39comments: falsemathjax: truetoc: trueunity-tolua集成pb3支持前篇tolua_runtime 编译 - https://zhuanlan.zhihu.com/p/81935911tolua中使用protobuf3—集成lua-protobuf.原创 2021-11-24 16:13:32 · 4390 阅读 · 0 评论 -
unity-tolua之Dispose释放引用
title: unity-tolua之Dispose释放引用categories: Unity3dtags: [unity, tolua]date: 2021-12-11 22:08:17comments: falsemathjax: truetoc: trueunity-tolua之Dispose释放引用前篇关于tolua与C#之间复杂的引用关系 (好文, 本文内容全部引用自这个链接) - http://mot.ttthyy.com/365.html关于tolua 的委托机.原创 2021-12-11 17:07:32 · 3205 阅读 · 0 评论 -
lua-cmake编译cjson库
title: lua-cmake编译cjson库categories: Luatags: [lua, cmake, cjson]date: 2020-09-01 16:28:49comments: falsemathjax: truetoc: truelua-cmake 编译 cjson 库, 这里在 windows 环境下, 使用 clion 工具编译 cjson.已上传到 GitHub: https://github.com/yangxuan0261/lua-cjson-2.1.0.原创 2020-09-01 17:26:14 · 710 阅读 · 0 评论 -
lua-cmake编译lua
title: lua-cmake编译luacategories: Luatags: [lua, cmake]date: 2020-09-01 15:59:03comments: falsemathjax: truetoc: truelua-cmake 编译 lua 可执行程序, 这里在 windows 环境下, 使用 clion 工具编译 lua 5.1已上传到 GitHub: https://github.com/yangxuan0261/lua-5.1前篇别人写好的 cm.原创 2020-09-01 17:25:33 · 1860 阅读 · 0 评论 -
lua5.1中实现__gc
lua 元表中有个很好用的方法就是 __gc,这个方法是在 table 被回收时会触发的回调,可以用来做一些 lua内存泄露 及 资源释放 等操作 怎奈这个方法在 lua5.1 版本是不支持的,5.2以上的版本才可以直接使用。 大部分 unity 和 cocos2dx 接入的tolua应该用的lua都是5.1的版本吧。在 stackoverflow 上搜到一个lua5.1实现原创 2017-05-12 10:36:21 · 5979 阅读 · 0 评论 -
Lua弱引用及泄露检测
Lua中的弱引用,类似C#中的 WeakReference,可以判断对象是否存活,进而判断是否有泄露Lua弱引用表table 中的的key或者value如果不想引用住赋值进来的对象(其实就是table)的话,只需要一行代码 setmetatable(objTab, {__mode = "k"}); ,测试代码如下,local function TestWeakRef( ) local o原创 2017-03-30 14:47:56 · 1675 阅读 · 0 评论 -
网络层处理,及使用sproto
一开始打算用luasocket这个开源的项目,但是接入进cocos中后,在读到流的长度和服务端下发的一直,但是在解析的时候解不出来,push不进lua的stack中。断点跟过一下代码,还是找不出原因(懒癌发作不想看里面的代码),于是乎就写了个简单网络处理(没有做跨平台处理)。 因为用是云风的 sproto 作为rpc框架,里面支持 lua53 ,对流的处理也有api string.pack 和原创 2016-08-01 22:47:35 · 3594 阅读 · 0 评论 -
vs编译lua-cjson的正确姿势
编译lua-cjson库,用的是云风fork后修改的支持lua53 integer64的库,传送门:lua-cjson库在vs中新建一个工程导入lua-json的源码修改部分源码在vs中新建一个工程,导入lua-json的源码(只需要几个源码文件) 修改部分源码所有 static inline 的函数修改为 static,或者直接 #define inline把一些不存在的api添加为wi原创 2016-07-29 02:51:00 · 3033 阅读 · 0 评论 -
unity-实时调试某个lua类的方法
一般情况下,修改lua后都要重新启动unity编辑器才有效。如果只是调试某几个方法时,修改后又要重启也是有点蛋疼 辣么这时候以下方法就有效了。 这个是给QC做个rpc上行测试时,发现也可以这么玩。 原理很简单,就是使用lua的dofile加载并执行某个lua文件,在这个lua文件中,重写需要调试的方法。 需要注意上下文的环境 重写前的 bubble_chat.lua CBub原创 2016-12-21 10:05:06 · 2828 阅读 · 0 评论 -
Visual Studio编译Lua库
最近有空打算把lua的源码仔细看下,就用vs编个lib,需要细看时在断点进去看比较详细。 下面主要是编 链接库 和 解释器 的说明Lua由三部分组成,即 Lua链接库Lua解释器Lua编译器 因此,对于Lua源代码的编译主要就是编译Lua链接库、Lua解释器和Lua编译器已经把工程上传到git,可以用 vs2013 直接生成并加载运行 test.lua 文件,lua版本是5.2.2原创 2017-01-04 17:38:16 · 3271 阅读 · 2 评论 -
unity-luaFramewrok中lua错误信息的捕获
现有的lua报错有显示 方法调用堆栈,类似 debug.traceback,可能我们有其他需求,要求对错误日志进行收集,然后上传到自己的日志平台,如 sentry 这就要求我们自定义一个错误处理的函数嵌入到lua的调用中–1. 在 Main.lua 中加入错误处理函数 _G__TRACKBACK_function __G__TRACKBACK__(errorMessage) loc原创 2016-12-05 17:41:17 · 3484 阅读 · 0 评论 -
cocos2dx lua中table与json互转
cocos2dx lua中table与json互转json字符串转tablejson字符串原创 2014-07-09 19:19:26 · 2914 阅读 · 0 评论 -
cocos2dx lua中使用class实现继承api中的类
直接上代码,代码中有解释原创 2014-06-28 21:24:38 · 1368 阅读 · 0 评论 -
Lua 继承 多态 单利模式 面向对象
lua模拟面向对象编程中得继承、多态,这里也同时z原创 2014-06-15 21:56:07 · 2018 阅读 · 0 评论 -
Lua 与java 互调
首先用 cocos code ide 编写lua 代码用 adt 编写 java 代码,只要修改了java代码,就必须用adt重新部署一次,再用ide运行runtime就有效果,否则看不到修改java代码后的效果,而且如果修改了方法,会因为找不到方法导致程序崩溃Lua 调用 javaJava方法中的所有参数必须加final关键字如:public static Stringtes原创 2014-06-12 23:55:07 · 7381 阅读 · 2 评论 -
博客搬家 -> www.wilkeryun.com-> 搬回csdn
前段时间租了个海外的v,p,s服务器,做了v,p,n代,理,翻,墙起来方便多了,搜索基本都使用Google了,解决方案简直就是快准狠,有些技术资料(比如ue4)国内还太少,百度出的东东太少。除了做代,理之外,还多有很多空间、内存、流量,感觉别浪费了就拿来搭个个人博客。现在也有一键安装lnmp环境的,博客程序用的是WordPress,强大,插件多,很方便。玩着玩着就认真了,Linux下的命令一点原创 2016-02-13 13:33:53 · 791 阅读 · 0 评论 -
c/c++混编,导出接口给lua调用
最主要是为了使用c++11的里面的一些东西,但这c11的东西又不能直接被lua调用,必须使用c还做 媒人lua注册文件 lnetRegc编写lua dll动态库编写lua lib静态库lua注册文件 lnetReg.c#include <lua.h>#include <lauxlib.h>#include <stdbool.h>#define LUA_API_EXPORT __declsp原创 2016-07-29 03:05:38 · 1557 阅读 · 0 评论 -
Lua中table类型的源码实现
讲的非常好,强烈建议+推荐看看,简直就是写出高效率lua代码的神器,因为这个table就像是个万金油,用的地方太多 此处省略万字…… 原文链接:点我转载 2016-07-29 03:13:45 · 449 阅读 · 0 评论 -
谈谈并发编程中的协程
云风开源的c 协程库 coroutine ,代码不多,强烈建议一读此原文的出处忘了,知道的童鞋duang一声 高并发编程里多线程(进程)的弊端 其实从著名的 C10K 问题的时候, 就谈到了高并发编程时, 采用多线程(或进程)是一种不可取的解决方案, 核心原因是因为线程(或进程)本质上都是操作系统的资源, 每个线程需要额外占用1M或者2M的内存空间, 所以2G内存转载 2016-07-29 14:12:44 · 666 阅读 · 0 评论 -
协程实现中的 ucontext簇函数学习
之前看云风写的c coroutine源码时,里面涉及的到的几个系统函数,就搜到这位fergus 童鞋的文章,链接忘了保存下来 作者: fergus (zfengzhen@gmail.com)getcontext, setcontext —— 获取或者设置用户上下文概要#include ucontext.h>int getcontext(ucontext_t转载 2016-07-29 14:19:13 · 1083 阅读 · 0 评论 -
Linux环境下 lua 调用自定义so动态库(skynet)
最近看的 skynet 使用的 c+lua 的架构,框架提供的是基础的api,所以业务逻辑还得自己去写,如果某些业务逻辑比较耗性能,那可能就需要把某些业务逻辑丢到 c/c++ 去做,提供个接口供 lua 调用。那么就需要去编个动态库(.so)、静态库(.a)啥的写c接口(有些类型不严谨,就偷懒不改了,编译时会warning,可无视)原创 2016-08-02 13:34:00 · 7327 阅读 · 3 评论 -
Centos7安装lua5.3.1
使用skynet要求的是lua5.3以上的版本,而centos7默认的是5.1.3的版本,所以有了之后的事情……下载最新的lua5.3.1的tar包 然后输入以下命令:tar zxf lua-5.3.1.tar.gzcd lua-5.3.1make linux则会自动安装好Lua解释文件,你会在src文件夹下发现多了几个文件。安装过程中可能会原创 2016-08-02 13:46:38 · 3375 阅读 · 0 评论 -
对cocos2dx lua中http请求的简要封装和使用
使用 ----------------------- 创建自定义事件 start local function eventCustomListener1(event) local str = "response: "..event._usedata labelStatusCode:setString(str)原创 2014-07-09 19:29:11 · 5237 阅读 · 0 评论