- 博客(139)
- 收藏
- 关注
原创 C#学习一:值类型与引用类型
1.值类型:1.引用类型:1.值类型内存中的实例:使用结构体来说明2.引用类型内存中的实例:使用类来说明值类型拷贝实例:引用类型拷贝实例:
2022-06-08 18:22:13
594
原创 Unity简单资源加载框架(八):使用AssetLoader类加载使用AssetLoader加载非prefab资源与自动卸载策略
1.AssetLoader/**************************************************** 文件:AssetLoader.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/9 10:39:33 功能:资源加载器*****************************************************/using System;using System.Collections;u
2022-05-09 17:34:35
1230
3
原创 Unity简单资源加载框架(七):使用AssetLoader类加载游戏对象
修改AssetLoader/**************************************************** 文件:AssetLoader.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/9 10:39:33 功能:资源加载器*****************************************************/using System;using System.Collections;u
2022-05-09 17:13:12
691
原创 Unity简单资源加载框架(六):通过AB配置文件构建资源依赖树
一.增加BundleRef类/**************************************************** 文件:BundleRef.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/9 14:11:13 功能:内存中的一个Bundle对象*****************************************************/using System.Collections.Generic;
2022-05-09 16:06:05
493
原创 Unity简单资源加载框架(五):使用async-await代替协程和回调
1.AssetLoader修改/**************************************************** 文件:AssetLoader.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/9 10:39:33 功能:资源加载器*****************************************************/using System;using System.Threading.Ta
2022-05-09 14:04:15
1372
1
原创 Unity简单资源加载框架(一):框架流程实现
一:目录结构二.代码的实现1.单例模板Singleton的实现/**************************************************** 文件:Singleton.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/9 10:41:23 功能:单例模板*****************************************************/using UnityEngine;pub
2022-05-09 11:33:20
792
原创 Unity简单资源加载框架(四):打包AB包三(生成AB包配置文件)
一目录结构增加两个类二代码:AssetUtility/**************************************************** 文件:AssetUtility.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/7 18:24:12 功能:资源管理相关的工具函数*****************************************************/using System.Coll
2022-05-07 18:54:47
758
原创 Unity简单资源加载框架(三):打包AB包二(记录依赖文件)
/**************************************************** 文件:ABEditor.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/7 15:54:51 功能:AB包编辑器*****************************************************/using UnityEngine;using UnityEditor;using System.IO;us
2022-05-07 18:11:20
460
原创 Unity简单资源加载框架(二):打包AB包一(开始打包AB包)
一:目录结构:二:打包代码:/**************************************************** 文件:ABEditor.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/7 15:54:51 功能:AB包编辑器*****************************************************/using UnityEngine;using UnityEdito.
2022-05-07 17:56:34
1404
原创 Unity常用旋转方法
获取Unity中Inspecttor面板上的Rotation的值:transform.eulerAngles获取两个物体之间的夹角:1.Vector3.Angle(transform.forward,target.pos-tramsform.pos)2.Mathf.Acos(Vector3.Dot((transform.forward,target.pos-tramsform.pos).normalized,transform.forward))*Mathf.Rad2Deg四元数转为欧拉角:..
2022-03-31 14:08:36
5061
原创 计算目标物体是否在自己的扇形视野范围
在做游戏开发中经常会需要到计算扇形的视野或者是受击范围的时候。其实这个分为两部分,第一部分是在扇形距离范围内(也就是不考虑角度,其实是圆形范围内)第二部分是扇形角度范围内第一部分很简单,Vector3.Distance(a, b);计算距离下面讲讲第二部分,扇形角度范围内。计算怪物是否在你的视野范围内其实可以这么看Avatar的正方向向量与Avatar到Enemy之间向量的夹角大小是否小于于视线大小的一半。这样就能判断是否在视线范围内。所以现在的问题就是这么计算这个夹角计算的方式是,
2022-03-31 13:54:21
642
原创 数据结构(二)——代码实现树
/**************************************************** 文件:TestBinaryTree.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/3/30 14:9:23 功能:Nothing*****************************************************/using UnityEngine;public class TestBinaryTree :.
2022-03-30 15:07:43
820
原创 C#中int short Int16 Int32 Int64区别
Int16 = short, 占2个字节. -32768 ~ 32767Int32 = int, 占4个字节. -2147483648 ~ 2147483647Int64 = long, 占8个字节. -9223372036854775808 ~ 9223372036854775807这样, 看起来比short,int,long更加直观些MSDN中说int就是Int32的别名,是等价的,short,long同理也是别名...
2021-09-07 11:40:00
1962
原创 Unity数学--三角函数
1.角度于弧度1-----1°约等于0.01745弧度(rad)2-----1 rad约等于57.3°推算公式:Unity的使用:2.三角函数1.计算方式2.函数曲线3.特殊度数4.Unity的使用3.反三角函数Unity使用
2021-08-20 10:13:37
539
原创 底层加载资源框架学习(九):生成配置表
全部代码:using System.Runtime.Serialization.Formatters.Binary;using System.Xml.Serialization;using System.IO;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class BundleEditor { #region 路径 public
2021-07-01 18:27:31
197
原创 底层加载资源框架学习(八):打AB包
代码:using System.IO;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class BundleEditor { #region 路径 public static string m_BundleTargetPath=Application.streamingAssetsPath; public static string
2021-07-01 17:04:40
181
原创 底层加载资源框架学习(七):设置AB包名字以及清除AB包名
代码using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class BundleEditor { #region 路径 public static string ABCONFIGPATH="Assets/Editor/ABConfig.asset"; #endregion /// <summary> /// 存放所有的
2021-07-01 16:13:30
1017
原创 底层加载资源框架学习(六):打包设置过滤以及单个预制和依赖
代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class BundleEditor { #region 路径 public static string ABCONFIGPATH="Asset/Editor/ABConfig.asset"; #endregion /// <summary> /// 存放所有的
2021-07-01 15:51:10
161
原创 底层加载资源框架学习(五):打包设置文件夹
代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class BundleEditor { #region 路径 public static string ABCONFIGPATH="Asset/Editor/ABConfig.asset"; #endregion /// <summary> /// 存放所有的
2021-07-01 15:29:04
132
原创 底层加载资源框架学习(四):自定义打包配置表
代码:using System.Collections;using System.Collections.Generic;using UnityEngine;[CreateAssetMenu(fileName ="ABConfig",menuName ="CreatABConfig",order=0)]public class ABConfig : ScriptableObject{ /// <summary> /// 单个文件所在文件夹路径,会遍历这个文件夹下面所有的Pre
2021-07-01 14:59:46
125
原创 Lua调用C#语言十三(泛型函数)
print("*****************lesson5 泛型函数的相关知识******************");local obj = CS.Lesson12();local father = CS.Lesson12.TestFather();local child = CS.Lesson12.TestChild();--支持有约束有参数的泛型obj:TestFun1(father,child);obj:TestFun1(child,father);--不支持没有约束的泛型函
2021-06-25 17:03:52
447
原创 Lua调用C#语言十二(协程)
print("*****************Lua调用C# 协程相关知识点******************");--C#中协程启动都是继承了Mono类,通过里面的启动函数StartCoroutineGameObject=CS.UnityEngine.GameObject;WaitForSeconds=CS.UnityEngine.WaitForSeconds;--xlua提供的一个工具表--一定要通过require调用后才能使用util=require("xlua.util");
2021-06-25 15:13:08
292
原创 Lua调用C#语言十一(Lua和系统类以及委托相互调用)
给Unity中的Button、Toggole添加点击事件C#代码:#region Lua和系统类以及委托相互调用public static class Lesson10{ [XLua.LuaCallCSharp] public static List<Type> LuaCallCSharpList = new List<Type> { typeof(GameObject), typeof(Rigidbody) }
2021-06-25 11:12:34
303
原创 Lua调用C#语言十(Lua实现Unity生命周期函数)
C#代码using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Events;public class LuaObjMgr : SingletonAutoMono<LuaObjMgr>{ public UnityAction start; public UnityAction update; public UnityAction
2021-06-24 18:21:13
592
原创 Lua调用C#语言九(nil和null的比较)
Lua代码:print("*****************Lua调用C# nil和null相关知识点******************");--往场景对象中添加一个脚本,如果存在就不加 如果不存在就加GameObject=CS.UnityEngine.GameObject;Rigidbody=CS.UnityEngine.Rigidbody;local obj = GameObject("测试添加脚本");local rig = obj:GetComponent(typeof(Rigidb
2021-06-24 16:56:46
1556
1
原创 Lua调用C#语言八(二维数组)
print("*****************Lua调用C# 二维数组相关知识点******************");local obj = CS.Lesson8();print("行数:"..obj.array:GetLength(0));print("列数:"..obj.array:GetLength(1));--获取数组中的元素--lua中不支持[0,0]或者[0][0]--使用方法 getValue的方法print(obj.array:GetValue(0,0));prin
2021-06-24 13:41:39
380
原创 Lua调用七C#语言(委托和事件)
Lua代码print("*****************Lua调用C# 委托相关知识点******************");local obj = CS.Lesson7();--委托是用来装函数的--使用C#中的委托 就是用来装lua的函数 local fun = function() -- body print("Lua中的委托函数");end--lua中没有复合运算符 不能+=--如果第一次往函数中加函数,因为是nil 不能直接+--所有第一次要先=print("
2021-06-23 18:36:09
607
原创 Lua调用C#语言六(函数重载)
Lua语言print("*****************Lua调用C# 函数相关知识点******************");local obj = CS.Lesson6();--虽然lua自己不支持写重载函数--但是lua支持调用C#中的重载函数print(obj:Calc());print(obj:Calc(1,15));--lua虽然支持调用C#重载函数--但是lua中的数值类型 只有Number--对C#中多精度的重载函数支持不好 傻傻分不清--在使用时,可能会出现意
2021-06-23 17:54:40
237
原创 Lua调用C#语言五(ref、out)
Lua代码print("*****************Lua调用C# ref相关知识点******************");Lesson5=CS.Lesson5;local obj = Lesson5();--ref参数 会以多返回值的形式返回给lua--如果函数存在返回值 那么第一个值就是该返回值--之后的返回值 就是ref的结果 从左到右一一对应--ref参数 相当于传入一个默认值 占位置(ref 不能省略,可以用0占位置)--a相当于返回值--b 第一个ref--c 第
2021-06-23 17:21:42
345
原创 Lua调用C#语言四(扩展方法)
lua代码print("*****************Lua调用C#扩展相关知识点******************");Lesson4=CS.Lesson4;--使用静态方法Lesson4.Eat();--成员方法 实例化出来用local obj = Lesson4();obj:Speak("学习扩展方法");--使用扩展方法 和成员方法一致--调用C#中某个类的扩展方法,那一定要在扩展方法所在的静态类前加上LuaCallCSharp特性--想要在Lua中使用扩展方法,
2021-06-22 18:18:29
303
原创 Lua调用C#语言三(数组、List、字典)
print("*****************Lua调用C#数组******************");local Lesson3=CS.Lesson3();--Lua使用C#数组相关知识--长度 userdata--C#怎么用 lua就怎么用print(Lesson3.testArray.Length);--访问元素print(Lesson3.testArray[0]);--遍历要注意 虽然lua中索引从1开始--但是数组是C#那不得规则 所以 还是要按照C#来--注
2021-06-22 17:47:41
1338
原创 Lua调用C#语言二(枚举)
Lua代码print("*****************Lua调用C#枚举相关知识点******************");--枚举调用--相当于Unity当中的枚举--枚举的调用规则和类的调用规则是一样的--CS.命令空间.枚举名.枚举成员--也支持取别名PrimitiveType=CS.UnityEngine.PrimitiveType;GameObject=CS.UnityEngine.GameObject;local obj = GameObject.CreatePrim
2021-06-21 17:15:43
405
原创 Lua语言学习十四(面向对象)
print("************面向对象*****************")print("************封装*****************")--面向对象 类 其实都是基于 table实现的Object={ id=1,}function Object:Test() -- body return "测试"end--:当调用者作为默认第一个参数进行传递--Object:new 对表Object进行添加方法 .是直接调用function Object:ne
2021-06-21 11:24:20
128
原创 Lua语言学习十三(元表)
print("************元表*****************")print("************元表概念*****************")--任何表变量都可以作为另一个表的元表--任何表变量都可以有自己的元表--当我们子表中进行一些特定操作时,会执行元表中的内容print("************设置元表*****************")meta={}myTable={}--设置元素函数--设置第一个参数 子表 --第二个参数 元表(爸爸)set
2021-06-21 10:56:46
109
原创 Lua语言学习十二(协程)
print("************协程*****************")print("************协程的创建*****************")function fun( ... ) -- body print("123");end--创建协程--通过coroutine.resume("协程的返回值")进行执行--返回值为thread(线程)对象co= coroutine.create(fun);--返回的是一个函数,可以直接调用co2= coroutine.
2021-06-21 10:48:53
89
原创 Lua调用C#语言一(类)
print("************逻辑与 逻辑或*****************")--与 遇假则假 或 遇真贼真--and or--lua中 只有nil和false时为假 其实为真print(1 and 2);print(nil and 2);print(3 and nil);print(1 or 2);print(nil or 2);print(nil or false);print(false or nil);--伪三目运算符a=2;b=1
2021-06-21 09:56:55
447
原创 Lua语言学习十(多脚本执行)
print("************多脚本执行*****************")print("************全局变量与本地变量*****************")--全局变量a=1;b=3;--本地变量 关键字 local local x = 1function test( ... ) -- body local d = 1;endprint("************多脚本执行*****************")--关键字 require
2021-06-18 17:10:24
191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人