
Lua
文章平均质量分 80
IT界的卡卡西
更多精彩内容,请搜索微信公众号:游戏开发之旅
展开
-
Lua的OS库时间函数
时间的三种表示格式用数值表示时间值 (时间戳)用数字值来表示时间值,实际上时间值的本质就是一个数字值。例如:d = 1131286477这里的 1131286477 是一个以秒为单位的 格林威志时间(gmt),注意不同时区的时差用字符串表示时间 (string)用字符串来来表示时间。例如:d = “2005-11-06 22:18:30” --2005年11月6日 22点18分30秒d = “11/06/2005 22:18:30” --即2005年11月6日 22点18分30秒时原创 2020-08-26 21:38:23 · 1525 阅读 · 0 评论 -
抛物线&轨迹算法
抛物线轨迹算法local x1=startPos[1]local y1=startPos[2]local x3=endPos[1]local y3=endPos[2]local width=x3-x1local x2=x1+width/2local y2=y1-heightlocal b=((y1-y3)*(x1*x1-x2*x2)-(y1-y2)*(x1*x1-x3*x3))/((x1-x3)*(x1*x1-x2*x2)-(x1-x2)*(x1*x1-x3*x3))local a=(原创 2020-06-02 09:45:24 · 2325 阅读 · 0 评论 -
Lua序列化方法
lua序列化实现使用的是string.dump (),关于string.dump ()的介绍,lua的API文档中写到string.dump (function [, strip])返回一个包含给定函数的二进制表示(二进制块)的字符串,以便稍后对该字符串的加载将返回函数的一个副本(但带有新的upvalues)。如果strip为真值,则二进制表示可能不包含关于函数的所有调试信息,以节省空间。带有upvalues的函数只保存upvalues的数量。当(重新)加载时,这些upvalues将接收包含nil的原创 2020-05-15 10:47:30 · 1979 阅读 · 0 评论 -
Slua集成第三方库(一)
材料Slua1.6.2:https://github.com/pangweiwei/slua/releases/tag/1.6.2环境window10_64bit开始Slua1.6.2解压之后的文件夹内容如图:Assets文件夹存放我们build之后的Slua文件,这个文件夹下的内容要拷贝到Unity的Assets中供Unity编译调用,其中内容如图设置编译环境Slua的编译主...原创 2020-03-27 17:11:06 · 775 阅读 · 0 评论 -
Lua使用递归算法实现阿拉伯数字转中文
算法思路个位的数字(数字长度为1)可以直接映射数字-中文字典得到中文数字数字长度大于1的数字,我们要把它的每一位数字分开,当成单位数来解析读数按照从大到小,从左导游读取数字那这里就可以按照递归,每次得到最大位,然后接着解析除去最大位之后的数字,直到数字长度为1的时候,返回对应的值实现local hzUnit = {"十", "百", "千", "万", "亿"}local hzNu...原创 2020-03-23 12:03:56 · 613 阅读 · 0 评论 -
消息事件的监听与分发
消息事件的监听与分发Unity游戏中通常使用的消息事件是直接使用委托实现的,这个对开发团队来说是件麻烦的事,所以需要封装一个统一的接口供开发者使用,使用事件机制的优点是不需要在UI上直接挂接代码。首先定义一个消息事件的基类,这个是消息底层的实现方式,主要目的是初始化消息;using System.Collections;using System.Collections.G原创 2018-01-04 18:04:35 · 967 阅读 · 1 评论 -
Lua生成的LDoc文档注释规范
标签@module 模块, 一般一个文件就是一个模块.@classmod 和 @module 类似, 但是用来描述 class, 用这个标签后, 生成的文档中 Module 文字会变成 Class.@submodule 如果一个模块的内容被分到了好几个文件中, 那么就可以再其他文件中用 submodule 来定义, 后面跟上master module的名字.@script 和 @modu...原创 2020-03-03 23:45:33 · 1459 阅读 · 0 评论 -
Lua函数的冒号调用和点调用
lua冒号函数的定义和调用冒号定义函数中的self指向函数所属表对象,即self是table类型,通过self表可以:访问挂载在该表下的所有冒号定义函数如,有定义A={},A:b() A:c();函数b,c都是冒号定义函数,在b,c函数内部self是地址指向A的表,在b函数中可以通过self:c()来调用c函数,同理在c函数中也可以通过self:b()来调用b函数代码示例:local tb...原创 2020-02-28 16:53:27 · 1388 阅读 · 0 评论 -
Lua的math库
函数名描述示例结果pi圆周率math.pi3.1415926535898abs取绝对值math.abs(-2012)2012ceil向上取整math.ceil(9.1)10floor向下取整math.floor(9.9)9max取参数最大值math.max(2,4,6,8)8min取参数最小值math.min(2,...转载 2020-01-20 10:17:03 · 1048 阅读 · 0 评论 -
Lua 5.3 的调试库
debug.traceback([thread,] [message [, level]]如果 message 有,且不是字符串或 nil, 函数不做任何处理直接返回 message。 否则,它返回调用栈的栈回溯信息。 字符串可选项 message 被添加在栈回溯信息的开头。 数字可选项 level 指明从栈的哪一层开始回溯 (默认为 1 ,即调用 traceback 的那里)。通俗点讲就是,...原创 2020-01-19 11:08:55 · 726 阅读 · 0 评论 -
Lua事件分发机制实现方案小结
小结一--[[ModuleName :EventManagerPath : LuaPractice\EventManager.luaAuthor :CJBKingCreateTime :2019-11-11 18:17:08 Description :--]]GlobalListenerMap={--[[ [target]={ [type#key]=listenerList...原创 2019-11-12 14:45:15 · 599 阅读 · 0 评论 -
Lua中正则表达式的使用整理
在Lua中使用正则表达式进行模式匹配的string库函数有这四个:string.find(str, pattern[, init[, plain]])string.gsub(str, p...转载 2019-11-07 19:02:02 · 558 阅读 · 0 评论 -
Lua编辑器
国外的ZeroBrane studio IDE传送门:https://studio.zerobrane.com/support#轻量级 SciTE传送门:https://www.scintilla.org/原创 2019-11-06 10:22:01 · 2822 阅读 · 0 评论 -
Lua实现继承
Lua元表使用 中的__index元方法可以实现面向对象和继承关系:lua中没有类的概念,只有table,但可以用__index模拟类和对象:local A = {}function A:new(name) self.__index = self return setmetatable({ name = name }, self)en...翻译 2019-11-05 16:15:22 · 897 阅读 · 0 评论 -
Lua中require,dofile,loadfile,dostring,loadstring,loadlib,load之间的区别
重点掌握 require,dofile,loadfile,其他的了解即可。一、require 1.功能:载入文件并执行代码块,对于相同的文件只执行一次 2.调用:require(“filename”) 注:寻找文件的路径在package.path中,print(package.path)即可得到。二、dofile 1.功能:载入文件并执行代码块,对于相同的文件每次...转载 2019-09-27 16:12:54 · 131 阅读 · 1 评论 -
Lua中的原表介绍及其使用举例
__tostring __tostring(a) --字符串输出 ,当调用tostring(obj)的时候,会先查找obj的元方法中的__tostring,如果有就调用,没有就会打印obj的内存地址。使用方法如下:LuaModuleNames={}LuaModuleNames=setmetatable({},{ __tostring=function(LuaModu...原创 2019-09-27 20:23:20 · 586 阅读 · 0 评论 -
Lua實現截取字符串并打印返回的數組
function StringSplit(input,parttern) input=tostring(input); parttern=tostring(parttern); if (parttern==" ") then return false end local pos,array=0,{} for st,ed in function() return string.f...原创 2019-09-30 15:25:33 · 379 阅读 · 0 评论