2.8k 3 分钟

函数可以完成2件事,完成工作或者计算并返回结果。 函数语法 function func_name (arguments-list) statements-list end Ps:Lua 使用的函数可以是 Lua 编写也可以是其他语言编写,对于 Lua 程序员来说用什 么语言实现的函数使用起来都一样。 function Show(a) print(a) end Show(100) 返回多个值 在 lua 中函数可以返回多个值,例如 string.find,其返回匹配串 “开始和结束的下标” (如果不存在匹配串返回 nil)。 s, e = string.find("hello...
994 1 分钟

构建表 构造器是创建和初始化表的表达式。表是 Lua 特有的功能强大的东西。最简单的构 造函数是 {},用来创建一个空表。可以直接初始化数组: 表的序号从 1 开始,并非 0。 Ps:假如空引用,lua 也不会报错,会输出 nil。 local numbers={1,2,3,4,5,6,7,8,9,0}print("numbers数据:"..tostring(numbers[1])) -- 输出 1构建自定义对象 local...
1.1k 1 分钟

本系列将从零开始学习Lua的基本语法,用于之后使用xLua进行unity热更新~ 使用Vscode开发Lua 至少要下载 Lua 和 LuaDebug 这 2 个扩展~ 看到 LuaDebug 的作者 actboy168,我有点惊讶,actboy168 是大名鼎鼎的 ydwe 作者之一,在以前自己玩 we 的时候用的编辑器就是 actboy168 大佬的,后面听说支持 lua 来代替 jass 编写游戏逻辑(那时候已经弃坑~);好的,闲话不多说,我们来编写我们的第一个脚本。 创建一个空文件夹并用vscode打开 创建一个test.lua文件 编写一行代码...
124 1 分钟

NaughtyAttributes 使用 NaughtyAttributes 可以很方便的管理 unity 属性面板的脚本属性,可以实现许多 unity 原先特性不能实现的效果,详情可以看向下面的 github 地址: Github 项目地址 想水一期文章,好的,水完了~
1.1k 1 分钟

试想一下,有没有一种方法可以将异步的程序改为同步,而又持有异步的效果呢? Poll 意义:使用同步的方式解决异步问题。 我们分析一下之前的程序逻辑,会发现我们使用 beginxxx 来开启新线程处理新的 socket,但是我们的客户端并不是实时的于服务器进行交互的(只在进行交互时,整个线程才是有效的,平时都处于阻塞等待状态。) 有这么一种方式: if (socket 有可读数据) socket.Receive () if (socket 缓冲区可写) socket.Send () if (socket 错误)...
2.8k 3 分钟

在之前的基础上其实我们只需要将客户端发送给服务器的数据在服务器分发给连接的所有客户端即可实现聊天室的功能。 不过在这里我对服务器端的代码重新优化了一下。 客户端连接实例 /// <summary> /// 客户端连接实例 /// </summary> class ClientEntity { public Socket Socket { get; set; } public byte[] ReadBuff { get; set; } ///...
5.1k 5 分钟

[begin] 在 [/begin]第一章的学习内容中我们已经完成了基本的 Socket 通信,但是在第一章中我们只能处理一个客户端的消息。 在实际游戏中,我们服务器需要对多个客户端进行监听和处理。 Begin XXX 每一个同步 API 对应着两个异步 API,分别是在原名称前面加上 Begin 和 End(如 BeginConnect 和 EndConnect)。使用异步程序可以防止程序卡住 。 例如:BenginConnect 参数 说明 host 远程主机ip地址 port 端口号 requestCallback 异步回调函数,其函数必须包含一个实现...
2.6k 2 分钟

序 这本书买了蛮久的,趁着寒假的时间拿出来学习一下,争取这个假期把这本书看完,把里面的实例代码都自己敲一遍,加深理解。 这是一个长期更新的系列:全书共十二章就算是每个章节写一篇文章也至少要写十二篇文章,希望自己可以坚持着书看完,把博客写完。 Socket连接步骤 示例图 type="text/javascript">document.write("graph TD;\n Client-->|连接服务器|Connect;\n Connect-->|发送消息|Send;\n...