【远程文件浏览器】Unity+Lua开发调试利器
Remote File Explorer是一个跨平台的远程文件浏览器,用户通过Unity Editor就能操作运行在手机上的游戏或是应用的的目录文件。比如当项目打包运行到设备上时,可通过Remote File Explorer直接浏览设备上的目录文件,并进行下载,上传,删除等操作。尤其是Unity+ ... »
Remote File Explorer是一个跨平台的远程文件浏览器,用户通过Unity Editor就能操作运行在手机上的游戏或是应用的的目录文件。比如当项目打包运行到设备上时,可通过Remote File Explorer直接浏览设备上的目录文件,并进行下载,上传,删除等操作。尤其是Unity+ ... »
引言 本篇简单介绍如何在C#中执行Lua脚本,传递数据到Lua中使用,以及Lua中调用C#导出的方法等。在Unity中开发测试,并打IL2CPP的Android包在模拟器上运行通过。Lua版本使用的是Lua5.1.5。 一、编译Lua动态链接库 1. 编译Windows下使用的DLL文件 使用VS2 ... »
一、图书详情 《Lua游戏AI开发指南》,原作名: Learning Game AI Programming with Lua。 豆瓣:https://book.douban.com/subject/30268009/ 出版社图书详情:https://www.ptpress.com.cn/shopp ... »
前面已经支持了几种不同的方式添加断点,但是必须事先在代码中添加断点,在使用上不是那么灵活方便。本文将支持动态增删断点,只需要开一开始引入调试库即可,后续可以在调试过程中动态的添加和删除断点。事不宜迟,我们直接进入正题。 源码已经上传Github,欢迎watch/star »
为了解决通过函数名称添加断点的不确定性,本篇我们将继续扩展断点的设置接口,支持通过包名来添加断点。因为包名相对更具确定性,配合行号可以进行精确定位。 ... »
我们之前已经支持了通过函数来添加断点,并且已经支持了行号的检查和自动修正。但是通过函数来添加断点有一些限制,如果在当前的位置无法访问目标函数,那我们就无法对其添加断点。 于是,本篇我们将扩展断点设置的接口,支持通过函数名称添加断点,以突破这个限制。 ... »
前面两篇我们对Lua调试器性能做了一个优化,本篇接下来继续来丰富调试器的特性。对断点行号进行检查与自动修正。 ... »
做这个程序的意图是wireshark插件编写复杂(虽然也支持lua),而轻量级的工具如smartsniff,minisniff不支持插件化数据分析,各种工具用下来或多或少不顺手。以前写的外挂也都是手工 »
本篇继续改进我们的Lua调试器,设法优化断点信息的数据结构,进一步提升性能。 ... »
1.使用正则表达式分割 starNum = "asd,dfg,ghj" resultStrList = {} reps = "," -- [^,]+ 正则表达式 匹配, string.gsub(starNum,'[^'..reps..']+',function ( w ) table.insert(resultStrList,w) end) p »
本篇我们继续改进Lua调试器,在钩子中引入call和return事件的处理,尝试对性能进行优化。 ... »
handler 将 Lua 对象及其方法包装为一个匿名函数。 格式: 函数 = handler(对象, 对象.方法) 在 quick-cocos2d-x 中,许多功能需要传入一个 Lua 函数做参数,然后在特定事件发生时就会调用传入的函数。例如触摸事件、帧事件等等。 local MyScene = class("MyScene", function() return display »
Q:什么是Lua的虚拟栈? A:C与Lua之间通信关键内容在于一个虚拟的栈。差点儿全部的调用都是对栈上的值进行操作,全部C与Lua之间的数据交换也都通过这个栈来完毕。另外,你也能够使用栈来保存暂时变量。 每个与Lua通信的C函数都有其独有的虚拟栈。虚拟栈由Lua管理。 栈的使用攻克了C和Lua之间两个不协调的问题:第一。Lua会自己主动进行垃圾收集,而C要求显式的分配存储单元。两者引起的矛盾 »
今天在TIOBE看各类开发语言排行版时发现Lua这个语言,目前正保持劲的上涨趋势,于是很好奇从网上search一些关于lua的资料,如下: ----------------------------------------------------------------- Lua 是一个小巧的脚本语言。作者是巴西人。 该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 »
本篇将继续给我们的Lua调试器新增两个辅助的调试接口:调用栈回溯打印接口、通用变量设置接口。前者打印调用栈的回溯信息,后者可以方便地修改变量的值,支持局部变量、upvalue以及全局的`_ENV`中的变量。 ... »
1、脚本中KEYS[序号]表示是传入的第几个key2、脚本中AGRV[序号]表示传入的第几个value3、在Java中如果用字符串直接编写注意每行末尾加上空格,防止拼接出现问题????4、redis.call('redis指令',可变参数列表),如在lua脚本中书写redis.call('set','renminbi','521','ex','10'),相当于在redis控制台执行如下语句( •̀ »
function Split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindSta »
1.1. 入门之Hello World!! 由于我习惯用docker安装各种软件,这次的lua脚本也是运行在docker容器上 openresty是nginx+lua的各种模块,所以直接docker安装openresty 修改nginx.conf配置文件,在http模块中加上 lua_package_path "/usr/local/openresty/lualib/?.lua;;"; h »
function UIBagController:initItemView( ) -- 获取面板 self.panelCenter = tolua.cast(UIHelper:seekWidgetByName(self.owner, "Panel_Center"), "Layout"); -- 获取面板下的子节点,多级子节点也可以获取到 local imag »
把常用的工具函数添加到 _G 里面,所有的文件都可以直接调用: -- 在 a 文件中将工具函数添加到 _G: _G.IsEmptyStr = function(str) return str==nil or type(str) ~= "string" or str == "" end _G.PrintObjPos = function(prefix, obj) prefix = pre »