- 博客(155)
- 资源 (1)
- 收藏
- 关注
原创 使用HybridCLR +Addressables打包报错
打包Windows平台时遇到了错误,报错信息表明缺少用于il2cpp构建的x64工具链。为了解决此问题,需要确保已安装了C++桌面开发相关的库和工具,这通常是VisualStudio的组件之一。使用HybridCLR +Addressables打包报错。
2024-08-21 00:21:23
144
原创 unity常用算法-AStar(A*)算法
AStar(A*)算法,是一种在静态网格中求解最短路径直接有效的搜索方法。在游戏开发中,A * 算法常应用于部分RPG游戏和策略战棋类游戏。对于Unity开发者来说,掌握A * 算法也是十分有必要的。不过在了解A算法之前,有必要先回顾一下深度优先算法(DFS)、广度优先算法(BFS)以及迪杰斯特拉算法(Dijkstra),这是理解和掌握A算法的必要基础。
2024-06-30 19:49:46
793
原创 UGUI Scroll Rect滚动矩形组件
当需要在小区域显示占用大量空间的内容时,可以使用Scroll Rect。滚动矩形提供了滚动浏览此内容的功能。通常,将Scroll Rect与Mask结合在一起以创建滚动视图,在该视图中,只有Scroll Rect内部的可滚动内容可见。它也可以与一个或两个滚动条组合使用,这些滚动条可以拖动以水平或垂直滚动。
2023-05-14 17:39:04
869
1
原创 lua 实现基本排序算法
算法通过嵌套的循环比较相邻的两个元素,如果前一个元素比后一个元素大,则交换它们的位置。重复进行这个过程,直到没有任何一对相邻元素需要交换为止。越后面越大,小的放前面,大的放后面。
2023-04-01 16:05:25
232
原创 unity UGUI系统梳理 - 常用可视化控件
在没有放入图片下,image控件长这样我一般没交互需求的情况下都会把RaycastTarget给点掉,这个不单单是从提高性能角度上考虑,而是因为不勾掉的话测试测试的时候会产生一些不必要的bug放图后多了两个选项Image Type 字段可定义应用的精灵的显示方式,提供的选项包括:Simple - 均匀缩放整个精灵。Sliced - 使用 3x3 精灵分区,确保大小调整不会扭曲角点,而是仅拉伸中心部分。Tiled - 类似于 Sliced,但平铺(重复)中心部分而不是对其进行拉伸。
2023-03-05 20:11:40
926
原创 IOS App 隐私协议网址
有关法律要求《巅峰勇者》披露的;2.使用者在接受“巅峰勇者”服务时实施不正当行为的,“巅峰勇者”有权终止对使用者提供服务该不正当行为的具体情形应当在本协议中有明确约定或属于《巅峰勇者》事先明确告知的应被终止服务的禁止性行为,否则,《巅峰勇者》不得终止对使用者提供服务。4.4用户为了维护其合法权益,向《巅峰勇者》提供与所注册的身份信息相一致的个人有效身份信息时,《巅峰勇者》应为用户提供帐号注册人证明,原始注册信息等必要的协助和支持,并根据需要向有关行政机关和司法机关提供相关证据信息数据。
2023-01-03 20:06:10
552
原创 Unity中的向量运算
零向量是非常特殊的一个向量,它是唯一一个大小为0的向量,也是唯一一个没有方向的向量。(2,-3,3)的负向量为(-2,3,-3)。即将向量的每个分量都变负。每个向量都有一个负向量,满足条件:一个向量和它的负向量相加等于零向量。2D零向量表示为(0,0),3D零向量表示为(0,0,0)。在Unity中,用Vector3.zero来表示3D零向量。向量变负,将得到一个和原向量大小相等,方向相反的向量。
2022-09-17 23:29:11
1070
原创 通过Xlua插件运行lua程序
using System.Collections;using System.Collections.Generic;using UnityEngine;using XLua; //引入xlua命名空间 public class Creat : MonoBehaviour{ private LuaEnv luaenv; void Start() { luaenv = new LuaEnv(); //LuaEnv可以理解为lua的运行环境 lua
2022-03-13 22:24:06
4065
原创 关于unity Assets 研究
一、Asset之前有研究过,但时间过长了,重新整理一下,一部分搬运大佬的文章我是在研究AssetBundle的时候关注到Asset的。官方解释AssetBundle是归档文件(即捆绑形式的文件类型),我个人将AssetBundle理解为一个压缩包。包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行的时候被加载对于Assets,一般来说我们有两层认知:一层来自于Unity的默认工程目录Assets,一层来自于Unity的打包系统AssetBundles。那么我们就从这两个方面来归一化地去理解Un
2022-02-25 21:00:00
2410
1
原创 unity 中Json使用
JsonJSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。LitJsonLitJson是一个Json的开源项目,这个比较稳定,推荐使用JsonMapper.ToObject():把json字符串转成对象.JsonMapper.ToJson():把对象转成json字符串.使用时,dll文件要放在Plugins文件夹下,代码访问时要引用命名空间:using LitJson;使用/***
2021-12-03 15:22:21
1381
原创 socket 登录界面
客户端using System;using System.Net;using System.Net.Sockets;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using LitJson;public class Click : MonoBehaviour{ Socket socket; //让服务器区分登录和注册
2021-12-03 14:30:10
521
原创 lua解释器程序
-estat execute string ‘stat’ 直接在命令行输入代码 并执行-lname require library ‘name’ 加载库文件 并运行-ienter interactive mode after executing ‘script’ 进入交互模式(默认)退出- -arglua程序参数列表...
2021-10-10 18:28:50
322
原创 Lua虚拟机
一、脚本语言脚本语言通常是解释执行的,每一门脚本语言都会有自己定义的OpCode(Operation Code,也称为bytecode,一般翻译为“操作码”或者“字节码”),这些字节码是由脚本语言经过编译器前端处理之后,生成的,再将它放到这门语言的虚拟机中逐个执行。而像C这样的都是直接编译器编译之后生成与当前硬件环境相匹配的汇编代码,不经过虚拟机,可以直接为机器识别脚本语言这样做得好处1、可运行平台 比较广,对接的是虚拟机,由虚拟机去处理硬件和软件平台的差异2、由于脚本语言需要由虚拟机执行,中间
2021-10-02 16:10:08
1630
原创 NGUI相关
项目用到,临时学一下1、NGUI简介2、操作导入插件在菜单栏上可以看到NGUI,这样就可以进行相关操作了UI Root:NGUI的UI内容必须挂载在UIRoot上这个就有点像UGUI的CanvasUI Panel:在NGUI中,UI Panel就像一个容器,只有在UI Panel中的UI对象才能显示,可以有多个UI Panel ,每个UI Panel都独立显示自己所包含的UI内容因为在UI Root中它会自带一个UI Panel,所以我们可以看到UI举个例子搞四个s
2021-08-14 09:19:54
206
原创 Unity热更新之AssetBundle——AB包资源加载
1、常用同步加载AB包方式using System.Collections;using System.Collections.Generic;using UnityEngine;public class ABTest : MonoBehaviour{ void Start() { //1、加载AB包 //Application.streamingAssetsPath 获得在不同平台下streamingAssets文件夹的地址(我们打AB包的时候拷贝
2021-07-26 11:40:24
1555
1
原创 Lua 面向对象--封装
面向对象特征1、 封装:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。2、继承:继承的方法允许在不改动原程序的基础上对其进行扩充,这样使得原功能得以保存,而新功能也得以扩展。这有利于减少重复编码,提高软件的开发效率。3、多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。4、抽象:抽象(Abstraction)是简化复杂的现实问题的途径,它可以为具体问题找到最恰当的类定义,并且可以在最恰当的继承级别解释
2021-07-23 15:00:43
464
原创 lua 元表
设置原表--元表 -- 任何表变量都可以作为另一个表变量的元表 -- 任何表变量都可以有自己的元表(父) -- 当子表(有元表的这张表)进行一些特定的操作时 -- 会执行元表的内容--设置元表 -- 先声明两张表-- meta = {}-- myTable = {}-- 设置元表函数-- 第一个参数 子表-- 第二个参数 元表(爸爸)--setmetatable(myTable,meta)特定操作 __tostring-- 特定操作 __tostringmeta2={ -
2021-07-22 17:57:57
235
1
原创 Lua协同程序(协程)
协程的创建--协同程序(协程)--协程的创建--常用方法--通过coroutine.create()fun = function() print(666) endco = coroutine.create(fun)print(co)print(type(co))--类型线程--第二种方法--coroutine.wrap()co2= coroutine.wrap(fun)print(co2)print(type(co2))--创建出来的不是线程类型而是函数thread
2021-07-22 11:21:50
850
原创 Unity热更新之AssetBundle——AB包资源打包
1、在package Manager里面下载Asset Bundle Brower安装完成后,在packages下可以看到Asset Bundle Brower点击windows列表下的Asset Bundle Brower唤出2、让资源跟AB包关联,并且能够打包出来选择想要打包的资源点下面的New取一个包名这时候再点我们的windows列表下的Asset Bundle Brower,就可以看到东西传进去了unity里面的C#脚本是无法打包到AB包的,因此要用Lua进行热更新因为.
2021-07-22 09:34:02
2117
5
原创 Lua 垃圾回收
test = {id = 1,name = '666'}--垃圾回收关键字 collectgarbage--获取当前lua占用内存字节数 K字节 用返回值*1024 就可以得到具体的内存占用字节数print(collectgarbage('count'))print(collectgarbage('count')*1024)--进行垃圾回收--lua中的垃圾回收 理解有点像C#中的 GC --当test为空时 解除羁绊 变成垃圾test = nil--进行垃圾回收 理解有点像C#的GC
2021-07-21 15:07:46
153
原创 Lua 自带库
时间相关系统时间--时间相关 -- 获取系统时间(时间戳) print(os.time())获得一个时间戳 -- 跟上那个相反,把我们现在的时间弄成时间戳 print(os.time({year = 2021,month = 7 ,day =21}))*os.date('t’) --os.date('*t') local time = os.date('*t') for k,v in pairs(time) do print(k,v) end
2021-07-21 14:41:56
316
原创 C# 静态类与非静态类
区别静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。特点1、静态类中只能包含 静态成员(构造方法、字段、属性),在静态类中无法实例化下面这些是测试1.1 静态类中声明静态变量错误演示实例成员就是需要实例化以后才能用的(我这个类要New才能用)我们给这个变量加上static以后就可以用了,变成
2021-07-21 10:44:34
1385
1
转载 unity中的 进程、线程和协程
协程,我们首先回顾以下线程与进程这两个概念。在操作系统(os)级别,有进程(process)和线程(thread)两个我们看不到但又实际存在的“东西”,这两个东西都是用来模拟“并行”的,写操作系统的程序员通过用一定的策略给不同的进程和线程分配CPU计算资源,来让用户“以为”几个不同的事情在“同时”进行“。在单CPU上,是os代码强制把一个进程或者线程挂起,换成另外一个来计算,所以,实际上是串行的,只是“概念上的并行”。在现在的多核的cpu上,线程可能是“真正并行的”。1 线程、进程、协程的区别进程
2021-07-20 15:45:41
963
原创 Unity热更新之AssetBundle——理论基础
概念AssetBundle简称AB包AssetBundle是Unity引擎提供的一种资源打包方式,可以对除了C#脚本外的任何资源进行打包压缩处理。如果想在Unity平台实现Lua热更新,Assetbundle技术是无法跳过的知识点,在unity平台我们进行热更新下来的资源都是需要事先进行Assetbundle打包处理的。特定于平台的资产压缩包,有点类似于压缩文件资产包括:模型、贴图、预设体、音效、材质球等作用1、相对于Resources下的资源,AB包可以更好地管理资源,更灵活方便,更易于做热
2021-07-20 14:54:39
493
1
原创 lua 特殊用法(多变量赋值、函数多返回值、and or[短路])
多变量赋值--多变量赋值a,b,c='123',666,trueprint(a)print(b)print(c)这语言是真的骚,全自动赋值变量少了,自动补空--全自动赋值--变量少了,自动补空t1,t2,t3=1,2print(t1)print(t2)print(t3)--变量多了,自动裁剪t1,t2,t3=1,2,6,7,8print(t1)print(t2)print(t3)函数多返回值--多返回值赋值function Test() return
2021-07-20 11:51:59
731
原创 lua 多脚本执行
1、全局变量和本地变量全局变量--多脚本执行--全局变量和本地变量--全局变量--全采用全局变量其实挺浪费内存的--像下面这些全是全局变量a=1b='123'--for循环内声明的变量在C#中是局部变量,在lua中是全局变量for i=1,1 do c='lucky'endprint(c)局部(本地)变量--关键字 local for i=1,1 do local d='execution'endprint(d)这样在for循环外我们就获取不到局部变量的值
2021-07-20 10:54:06
556
原创 Lua 表的公共操作
插入t1={{name="张三",age = '23'},{name='李四',age='25'}}t2={name ='牛二',sex=false}print('t1长度:'..#t1)--插入table.insert(t1,t2)print('t1插入后长度:'..#t1)我们遍历一下for k,v in pairs(t1) do print(k,v)end它打印出来是它的类型table,后面是它的地址。三个不同的地址对应的就是它不同的三张表我们想看看表内的东西,就把属
2021-07-19 19:45:08
163
原创 Lua 类和结构体
Lua中默认是没有面向对象的,需要靠我们自己实现成员变量 成员函数Student = { age = 18, sex = true, Up = function () print('长大了') end}Lua中类的表现更像是一个类中包含有很多的静态变量和函数print(Student.age)Student.Up()在声明表后,可以在表外去声明表有的变量和方法表内是没有name这个属性的,我们在表外给它添加了Student.name= '少年'--表外加函数有两种写
2021-07-19 17:54:51
4090
1
原创 Lua Table表实现字典
字典字典的声明字典使用键值对构成访问单个变量 用中括号填键来访问a={["name"]='小可爱',['age']=18,["6"]=6}print(a['name'])print(a['age'])print(a['6'])可以通过.成员变量的形式得到值print(a.name)print(a.age)修改a["name"]='丑八怪'print(a.name)print(a['name'])新增a['sex']='woman'print(
2021-07-19 15:27:02
794
1
原创 Lua 迭代器遍历
迭代器遍历主要用来遍历表#获取长度其实并不准确,一般不要使用#来遍历表(除非你很确定这里面的元素都是不间断,中间也没有为空的情况)ipairs迭代器遍历ipairs遍历还是从1开始遍历的,小于或等于0的不遍历--ipairs--先搞一个自定义索引a = {[0]=1,2,[-1]=3,6}for i,k in ipairs(a) do print("ipairs遍历"..i..'_'..k)endpairs迭代器遍历pairs可以遍历所以信息,建议使用其遍历各种不规则的表
2021-07-19 14:44:16
301
原创 使用Sourcetree管理GitHub项目
克隆遇到错误一直登不上去,重启后就正常了,应该是网络波动吧从github上克隆项目更新当我们在本地项目上做出更改后,可以看到下面未暂存文件
2021-07-19 13:52:39
233
仓库管理系统.rar
2020-02-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人