自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Unity xlua 热更

1、先打包AB包,并加密打包 AB 包打包AB包,请看另外一篇文章 AssetBundle - 工具与打包操作 https://blog.csdn.net/hycai_007/article/details/121380465对AB包加密创建加密相关脚本,这里使用 AES 加密对AB包资源进行加密,脚本如下using System.IO;using System.Text;using UnityEditor;using UnityEngine;public class ABPackM

2022-03-09 11:40:25 6676

原创 七、UI管理器

UI基类统一管理UI以及相关(UGUI),提高代码复用率,降低文件耦合性。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using UnityEngine.EventSystems;public class PanelBase : MonoBehaviour{ private Dictionary<string, List<

2021-12-07 17:19:02 320

原创 五、音效管理器

在Resource目录下面新建一个SoundRes目录存放我们的音乐,Effect文件夹下存放音效,Bg文件夹下存放背景音乐代码如下using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Events;public class SoundMgr : MonoSingletonBase<SoundMgr>{ /// <summary&g

2021-12-07 16:43:47 2044

原创 八、SceneMgr场景加载管理器

场景切换using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Events;using UnityEngine.SceneManagement;//场景切换模块public class SceneMgr : SingletonBase<SceneMgr>{ /// <summary> /// 切换场景 ///

2021-12-07 16:30:50 514

原创 二、纯C#对象使用 MonoBehaviour 的周期方法

众所周知,继承了Monobehavior之后,我们就可以使用Unity给我们提供的一些生命周期函数。那假设类没有继承Monobehavior,但是我们又希望使用到Mono的东西,比如帧更新方法Update、协程等,这该怎么做呢?使用 MonoMgr 解决这个问题。代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Events;public cla

2021-12-07 16:23:26 2117

原创 六、事件管理中心

事件管理中心(观察者设计模式),这个模块能很大程度的减少代码的耦合度,减小代码之间的复杂性,是个非常重要的管理中心。个人理解是,事件管理中心就是个广播站,他可以增加事件监听,然后当触发时,广播通知给所有监听的方法。如:玩家升级,需要通知给个人信息面板,主界面的玩家信息显示更新等级等等,同时通知给所有监听了这个“玩家升级”这个事件的地方。框架基础EventCenter 事件中心,当前扩展使用,4个参数类型的方法监听,主要分为增加事件监听AddEventListener、触发事件EventTrigge

2021-12-07 12:23:41 293

原创 四、缓存池框架

缓存池缓存池模块主要作用是性能优化,减少CPU和内存消耗。Unity每一次创建对象,其实都是C#在内存中申请了一块空间,之后在Unity场景中Destroy这个物体对象,实际上只是断开了实例化对象对于内存的那块空间的一个引用,内存中依然存在那个对象对应的空间。直到内存占用满了,CPU才会回过头来找内存中没有被引用的空间(称为一次GC),然后释放该空间,然后建立新的对象,如此往复。GC步骤是比较消耗CPU的,所以,我们需要缓存池。缓存池可以将你创建的对象在你用完后收录起来,等到你再要调用的时候,就可以

2021-12-07 11:37:02 215

原创 三、Res资源加载管理器

资源加载管理器,使用 Resources.Load 和 Resources.LoadAsync加载 Resources资源文件夹下的资源,实现接口封装。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Events;//资源加载模块public class ResLoadMgr : SingletonBase<ResLoadMgr>{ .

2021-12-07 11:34:43 196

原创 一、单例模式基类

继承自 MonoBehaviour 的单例using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 继承自 MonoBehaviour 的单例基类/// </summary>/// <typeparam name="T"></typeparam>public class MonoSingletonBase<T&

2021-11-24 10:36:24 1295

原创 AssetBundle框架管理

AssetBundleMgr AB包使用管理类using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Events;public class AssetBundleMgr : MonoBehaviour{ private static AssetBundleMgr _instance; public static AssetBundleMgr In

2021-11-23 20:52:00 447

原创 Asset Bundle资源的加载与使用

Asset Bundle的资源加载与使用资源加载 与 卸载AB加载方式:AssetBundle.LoadFromFile 从本地加载 // 以编辑器为使用案例, AB包的资源拷贝到了 streamingAssetsPath 的目录下, 加载AB包资源操作如下 // 如果是其他平台的,则只需要保证AB包资源的正式路径正确即可 string path = Application.streamingAssetsPath + "/" + "common/main.ab"; AssetBundle

2021-11-22 18:15:41 1130

原创 AssetBundle - 工具与打包操作

BuildAssetBundleOptions.None:使用LZMA算法压缩,压缩的包更小,但是加载时间更长。使用之前需要整体解压。一旦被解压,这个包会使用LZ4重新压缩。使用资源的时候不需要整体解压。在下载的时候可以使用LZMA算法,一旦它被下载了之后,它会使用LZ4算法保存到本地上。BuildAssetBundleOptions.UncompressedAssetBundle:不压缩,包大,加载快BuildAssetBundleOptions.ChunkBasedCompression:使用LZ4

2021-11-17 17:53:21 4175

原创 ARPG 敌人扇形视野索敌跟随

演示using System.Collections;using System.Collections.Generic;using UnityEngine;public class Enemy_VisualField : MonoBehaviour{ public Transform player; // 玩家角色 public float viewAngle = 50; // 敌人的视野角度 public float distance = 100; // 索敌半径

2021-08-11 22:11:01 373

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除