04 2021 档案

摘要:一.简介: 有今天这篇博客是因为最近在做一个lua版的象棋游戏(忽略lua效率不高这件事),在做游戏的PVE功能的过程中需要实现一个简单的象棋AI,于是对于象棋AI进行了一番研究,研究的主要资料来源于象棋巫师。下面的内容也主要是对于最大最小算法和AlphaBeta算法理解的一个记录。对于棋类AI,目 阅读全文
posted @ 2021-04-30 01:04 movin2333 阅读(934) 评论(0) 推荐(0) 编辑
摘要:lua中使用元表并指定元表的__index来模拟实现了类和对象,下面是一个我觉得比较好用的class方法,用来模拟实现类的继承,这个在我之前的博客中也有提及: function class(classname, super) local cls if type(super) ~= "table" t 阅读全文
posted @ 2021-04-29 10:45 movin2333 阅读(122) 评论(0) 推荐(0) 编辑
摘要:一.简介: 最近在做一个lua版的象棋(使用lua也没有考虑性能的问题,主要是想练习一下lua的使用),在象棋的PVE模式玩法中,AI的落子处理打算采用经典的alpha-beta算法(之后的博客会详细记录),采用这种算法的棋类游戏AI的核心是对象棋局面的评估(打分),以便AI能自己计算每种走法得到的 阅读全文
posted @ 2021-04-28 19:13 movin2333 阅读(1697) 评论(0) 推荐(0) 编辑
摘要:如题,在使用lua模仿类和对象的过程中,对象会被置空和创建。由于对象和模板类实际上是lua中的两个表,类表是对象表的元表,所以在实际使用过程中,对对象中的一些值得修改有时实际修改的是元表中的值,当对象被销毁后再次创建对象时就会出现问题,因此在创建对象时需要将类表中的变量全部重置一遍,而且推荐一个类只 阅读全文
posted @ 2021-04-26 06:15 movin2333 阅读(94) 评论(0) 推荐(0) 编辑
摘要:function class(classname, super) local cls if type(super) ~= "table" then super = nil end if super then cls = {} setmetatable(cls, {__index = super}) 阅读全文
posted @ 2021-04-23 16:52 movin2333 阅读(379) 评论(0) 推荐(0) 编辑
摘要:一.简介:今天在网上找框架时,发现了一个使用lua实现的开源PureMVC框架,于是便分析了一下使用方法,以便在自己的项目中可以尝试使用。框架相关的博客地址:https://blog.csdn.net/u012740992/article/details/103674426;框架的源码地址:http 阅读全文
posted @ 2021-04-21 16:54 movin2333 阅读(659) 评论(0) 推荐(0) 编辑
摘要:在使用xlua编程热更新项目时,如果需要使用DoTween动画插件该如何去设置呢?今天就遇到了这个问题,将解决方案记录在这里: DoTween通过添加拓展方法的方式为Unity本身的类或对象添加了许多方法,这些方法使用DO、Set、On等开头,不同开头的方法都有特定的作用。xlua要识别DoTwee 阅读全文
posted @ 2021-04-20 16:27 movin2333 阅读(1591) 评论(0) 推荐(0) 编辑
摘要:一.简介 Unity工程完成后,常常出现安装包大的问题和运行卡的问题。性能优化就是尽量解决这两方面的问题。 二.DrawCall概念 在游戏运行过程中,CPU通过调用图形库接口(DirectX/OpenGL),向GPU传达渲染命令。CPU对图形绘制接口的调用就是DrawCall。一方面CPU在调用图 阅读全文
posted @ 2021-04-14 01:40 movin2333 阅读(182) 评论(0) 推荐(0) 编辑
摘要:一.tolua使用准备工作:从GitHub上下载tolua(说明:这篇笔记使用的Unity版本是2019.4.18f1c1,使用的tolua是2021年4月9日从GitHub上Clone的tolua工程文件,没有下载release版本,使用的ide为vscode) 1.在GitHub上搜索tolua 阅读全文
posted @ 2021-04-13 16:15 movin2333 阅读(1125) 评论(0) 推荐(1) 编辑
摘要:一.简介 对于xlua热更新项目来说,如果是已经使用C#做好的项目,可以使用hotfix补丁的形式对C#方法进行覆盖,使项目具备热更新功能,但是如果是没有开始实现的项目,要想具备热更新功能,完全使用lua实现可能更加方便维护。从另一个方面来说,一个项目如果全部使用lua实现游戏逻辑,游戏的运行速度肯 阅读全文
posted @ 2021-04-09 21:14 movin2333 阅读(875) 评论(0) 推荐(0) 编辑
摘要:一.简介 在Unity中,使用AssetBundle Browser打包时,这个工具无法识别.lua后缀的文件,lua代码无法直接打包。我们可以为lua文件添加上后缀.txt以修改lua文件格式的方式解决这个问题,文件内容不会修改。但是对于一个项目,lua文件非常多,这时显然一个一个修改太过于麻烦, 阅读全文
posted @ 2021-04-09 18:18 movin2333 阅读(404) 评论(0) 推荐(0) 编辑
摘要:一.热补丁简介 热补丁主要是用于将纯C#工程在不重做的情况下通过打补丁的形式改造成具备lua热更新功能工程,主要是让原来脚本中Start函数和Update函数等函数代码块重定向到lua代码。 二.第一个热补丁 1.C#代码端: 1)创建一个脚本,并挂载到游戏中的任意物体上(实际使用过程中一般修改已有 阅读全文
posted @ 2021-04-07 17:25 movin2333 阅读(1520) 评论(0) 推荐(2) 编辑
摘要:一.热更新方案简介 在Unity游戏工程中,C#代码(编译型语言)资源和Resources文件夹下的资源打包后都不可以更改,因此这部分内容不能进行热更新,而lua代码(解释型语言)逻辑不需要进行预编译再运行,可以在游戏运行过程中进行修改,AB包资源也可以在游戏运行过程中下载解压缩并使用其中的资源。因 阅读全文
posted @ 2021-04-06 22:32 movin2333 阅读(1527) 评论(0) 推荐(1) 编辑
摘要:一.lua安装和编程环境搭建 lua语言可以在官网:http://luadist.org/下载安装包安装,编程IDE之前学习使用的是SciTE(https://www.cnblogs.com/movin2333/p/14348703.html),这个IDE安装时会一并安装lua,当然,vscode、 阅读全文
posted @ 2021-04-03 23:43 movin2333 阅读(471) 评论(0) 推荐(0) 编辑
摘要:一.简介 AssetBundle简称AB包,特定平台的资产压缩包(包括模型、贴图、预设体、音效、材质球等资产)。 作用:Resources下的资源只读且打包后不可修改,而AB包存储位置自定,后期可以动态更新;AB包压缩后节省空间;可以进行资源热更新和脚本热更新。 二.官方打包工具AssetBundl 阅读全文
posted @ 2021-04-02 01:17 movin2333 阅读(1029) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示