自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 跑酷游戏左右滑动控制人物横向移动

【代码】跑酷游戏左右滑动控制人物横向移动。

2024-03-10 18:56:27 639

原创 策略模式

在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改客户端代码。

2024-03-10 18:39:26 530

原创 装饰器模式

装饰器模式是一种结构型设计模式,它允许向一个对象动态地添加新功能,同时不改变其接口。这种模式是通过创建一个包装器,即装饰器,来包裹原始对象,从而为其添加新的行为或责任。

2024-03-10 15:03:36 464

原创 原型模式介绍

原型模式通过复制现有对象来创建新对象,而不是通过实例化新对象并设置其属性值。原型模式允许我们在运行时动态地创建对象,并且避免了创建复杂对象时的构造逻辑。在原型模式中,通常有一个原型对象作为模板,当需要创建新对象时,可以通过复制原型对象来得到一个新的对象副本。这样做可以提高性能,尤其是在创建对象的过程中涉及到复杂的初始化操作或资源消耗较大的情况下。

2024-03-09 17:06:28 412

原创 建造者模式

逐步构造一个复杂对象,同时隐藏构建细节,从而使得同样的构建过程可以创建不同的表示。

2024-03-09 16:39:36 718

原创 工厂模式介绍

在工厂模式中,定义一个工厂类,工厂类负责根据客户端的需求创建相应的对象,而客户端无需直接调用对象的构造函数来创建对象,而是通过工厂类来实现。

2024-03-09 15:50:29 433

原创 代理器模式

代理模式是一种结构性设计模式,其中一个对象(代理)充当另一个对象(真实对象)的接口。代理控制着对真实对象的访问,允许你在访问真实对象之前或之后执行特定操作。这可以用于实现延迟加载、访问控制、日志记录等功能,而无需直接修改真实对象的代码。

2024-03-09 09:56:33 318

原创 二分查找算法

二分查找

2024-03-04 08:58:18 360

原创 随意给一个int变量,判断是不是2的幂

要判断一个整数是否是2的n次方,可以使用位运算的方法。如果一个整数是2的n次方,则它的二进制表示中只有一个位是1,其余位都是0。

2024-03-03 19:12:38 385

原创 对字节变量,其二进制表示法中求有多少个1,如 00101010则返回值为 3,也是要求效率最高。

Brian Kernighan

2024-03-03 19:10:00 357

原创 常用的位操作符

按位与(&): 将两个操作数的对应位都设为1时结果为1,否则为0。例如,1010 & 1100 = 1000。按位或(|): 将两个操作数的对应位中只要有一个为1时结果为1,否则为0。例如,1010 | 1100 = 1110。按位异或(^): 将两个操作数的对应位不相同时结果为1,相同时结果为0。例如,1010 ^ 1100 = 0110。按位取反(~): 将操作数的每个位取反,即0变为1,1变为0。例如,~1010 = 0101。左移(<<): 将一个数的二进制位向

2024-03-03 19:05:22 360

原创 如何降低DrawCall

静态合并(Static Batching):Unity可以将静态(不移动、不旋转、不缩放)且共享相同材质的游戏对象合并为一个大的Mesh,从而减少Draw Calls。如何进行静态合批:PlayerSettings中开启static batching,对需要静态合批物体的Static打钩动态合并(Dynamic Batching):对于较小的、共享相同材质的动态游戏对象,Unity也能在运行时动态地将它们合并在一起,减少Draw Calls。动态合批是全自动的,我们不需要做任何事情。

2024-03-03 18:18:08 800

原创 Unity如何优化内存

减少纹理大小和分辨率:大的纹理消耗大量内存。考虑降低纹理的分辨率或使用压缩格式。使用Mesh优化:简化3D模型的多边形数量,移除不必要的顶点。音频剪辑优化:压缩音频文件,使用适合场景的最低合理质量。Asset Bundles:动态加载和卸载资源,按需加载资源,避免一次性加载全部资源。

2024-03-03 17:32:24 973

原创 MeshRender中的material和Sharedmaterial的区别

Material 属性指向的是一个实例化的材质对象。当你通过 renderer.material 获取或设置材质时,会创建该材质的一个副本,并将其应用于当前的 MeshRenderer。这意味着对于同一个 MeshRenderer,如果多次获取其 material,将会得到多个不同的材质实例。修改 material 属性获取的材质的属性(如颜色、贴图等)只会影响当前的 MeshRenderer,不会影响其他使用相同材质的 MeshRenderer。

2024-03-03 17:09:05 488

原创 什么是MVC框架

MVC(Model-View-Controller)是一种软件设计模式,用于将应用程序分解为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。每个组件都有其独特的责任和作用,以实现代码的分离和更好的可维护性。

2024-03-03 16:50:17 526

原创 String和stringBuider的不同、stringBuider怎么用

String和stringBuider的不同

2024-03-03 15:13:01 373

原创 Func的用法

Func的用法

2024-03-03 15:02:54 1412

原创 接口(Interface)与抽象类之间的不同

接口:接口定义了一组抽象方法的集合,但不包含具体的实现。接口中的所有方法默认都是公共的,并且不包含字段或常量。抽象类:抽象类是一种特殊的类,可以包含抽象方法和具体方法。抽象方法是没有实现体的方法,而具体方法是有实现体的方法。抽象类可以包含字段、构造方法和非抽象方法。

2024-03-03 13:58:58 418

原创 垃圾回收(GC)产生的原因和如何避免

垃圾回收

2024-03-03 13:51:42 502

原创 ArrayList和List区别

ArrayList和List的区别 ArrayList List

2024-03-03 13:34:57 335

原创 什么是装箱和拆箱

装箱 拆箱 什么时候用到装箱和拆箱

2024-03-03 13:20:47 717

原创 面向对象的三大特点

封装 多态 继承 开闭原则

2024-03-03 13:05:56 364

原创 重载和重写的区别

重载指的是在同一个类中,使用相同的方法名但参数列表不同的多个方法,目的是让方法可以接受不同类型或数量的参数。而重写则是指子类覆盖了父类中具有相同方法签名的方法,以改变或扩展其行为。重载是编译时多态,重写时运行时多态。

2024-03-03 12:43:08 318

原创 数字动态变化

【代码】数字动态变化。

2024-03-01 12:01:49 394 1

原创 Unity导入图片自动设置设置为Sprite

自动设置图片格式

2024-03-01 10:52:04 812 1

原创 输出数字格式化

数字统一格式,Unity,UI

2024-03-01 09:56:29 345 1

原创 编辑器下测试代码

我们写一个方法想进行测试很不方便,即便是用了ContextMenu特性也需要右键找按钮,还只能测试Public类型的方法.

2024-02-28 09:19:10 363

原创 Unity如何在新建Image或者Text的时候默认不勾选RaycastTarget

性能优化,扩展编辑器

2024-02-26 16:09:26 820 2

原创 如何在Inspector窗口设置(set)属性值

之前做项目的时候有用到的在Inspector该属性值的功能,现在整理项目方便以后使用。

2024-02-26 15:11:45 361 1

原创 Unity如何用foreach遍历父物体下子物体

selectTransform”就是要遍历的父物体,输出的时该父物体下所有一级子物体。

2024-02-26 10:42:30 908 1

原创 Unity坐标系的转换—世界坐标转为UI坐标

直接调用WorldToAnchorPos,传入对应的参数返回UGUI坐标。

2024-02-24 18:00:10 1676 1

原创 Unity编辑器代码执行顺序

Unity编辑器中的脚本执行顺序是Awake——>OnEnable——>Start——>FixedUpdate——>yield WaitForFixedUpdata——>OnTrigger——>OnCollision——>OnMouse**(输入事件)——>Update——>yield WaitForSecone——>StartCoroutine——>LateUpdate(游戏逻辑)——>屏幕渲染——>OnGui(GUI渲染)——>OnDisable——>OnDstory。

2024-02-24 16:01:55 565

原创 值类型和引用类型的区别

值类型和引用类型的不同

2024-02-24 15:21:05 374

原创 物体的插值旋转

枪口始终朝向敌人;跑酷游戏中左右移动的时候人物身体转向。

2024-02-24 14:46:38 336

原创 Enum枚举的使用

枚举是值类型的,并非引用类型如何通过枚举变量值获取对应变量名如何通过枚举变量获取对应变量名如何通过枚举变量值获取对应变量名如何通过字符串名称获取对应变量名如何通过字符串名称获取对应枚举变量值如何通过枚举变量名获取对应的变量值枚举变量值如果定义枚举得时候没有给枚举赋值,则默认从第一个开始变量赋值为0,然后递增1,2,3…手动给其中一个变量赋值,则下面得从赋的值开始递增,如下:通用枚举工具项目中经常用到这些东西,为了方便写成通用的

2024-02-24 14:25:36 430

原创 使用Cinemachine插件导致视野抖动问题解决方案

视野抖动,Cinemachine

2024-02-20 12:11:45 842

原创 Unity如何将当前的帧率显示在UI界面

获取时间间隔:首先,我们需要计算每一帧之间的时间间隔。在Unity中,可以使用Time.deltaTime来获取上一帧到当前帧的时间间隔。计算帧率:通过时间间隔,我们可以计算出帧率。帧率是指每秒钟渲染的帧数,可以通过将1除以时间间隔来得到。显示帧率:最后,我们将计算得到的帧率显示在屏幕上。在Unity中,可以使用GUI系统来实现,在屏幕上绘制文本来显示帧率。

2024-02-19 13:23:04 1566 1

原创 TCP粘包和拆包

将一个完成的数据包拆分成多个数据包发送。

2024-01-27 17:16:40 329

原创 Unity查找物体方法的详细对比

unity中常用的查找物体方法的使用、对比

2022-09-22 01:17:36 2782

AshVehiclePhysical

赛车游戏功能插件,比如漂移 自己学习使用,不可商用

2024-02-29

自动寻路插件,用于学习

自动寻路插件,用于学习

2024-02-24

EnumTool枚举常用工具

EnumTool枚举常用工具

2024-02-24

空空如也

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

TA关注的人

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