自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 002.反射

调用方法或创建对象,而不需要在编译时就知道这些类型的具体信息。简单说,反射就像程序的 “自我检查能力”,能让代码 “看见” 并操作自身的结构。Unity 编辑器扩展大量依赖反射,例如自定义 Inspector 面板时,动态获取脚本的字段并生成编辑界面。)或存档系统内部使用反射,动态读取对象的字段并转换为字符串(或反之)。动态地获取类型信息、访问对象成员(如字段、方法、属性等),甚至。物理引擎每帧计算刚体的运动、碰撞检测、关节约束等;五、Unity中每帧执行的逻辑有哪些。二、Unity中反射的常见用途。

2025-09-17 08:41:54 527

原创 001.多线程改多进程会有类似线程安全的问题吗

多进程虽减少了内存共享问题,但在涉及共享资源或显式共享数据时,仍需类似线程安全的同步机制,只是实现方式不同。三、多线程改多进程会有类似线程安全的问题吗。,是操作系统进行资源分配的基本单位。,它们让程序能 "一心多用"。

2025-09-17 08:16:40 318

原创 04.事件中心模块

观察者设计模式(Observer Design Pattern)是一种行为型设计模式,它定义了对象之间的一对多依赖关系:当一个对象(被观察者)的状态发生变化时,所有依赖它的对象(观察者)会自动收到通知并更新。这种模式的核心思想是解耦被观察者和观察者,让它们可以独立变化,同时保持联动。三、简单的事件中心模块代码。

2025-09-07 16:40:41 235

原创 03.缓存池

频繁创建 / 销毁对象(尤其是复杂对象,如包含大量组件的游戏物体、需要初始化资源的网络连接)会触发频繁的内存分配与回收(如 Unity 中的 GC 垃圾回收),导致性能波动(如游戏卡顿)。,核心是提前创建一批常用、创建 / 销毁成本高的对象(如游戏中的子弹、敌人,或程序中的网络连接、线程),将其存入一个 “池” 中;缓存池集中管理对象的 “创建、复用、回收”,可统一控制对象的初始化状态(如重置子弹位置、清空数据),避免对象状态混乱;实例化对象时,会在内存中分配空间,删除对象时,三、实现一个基础的缓存池。

2025-09-06 15:20:32 429

原创 02.继承MonoBehaviour的单例模式基类

继承了MonoBehaviour的单例模式对象,需要我们自己保证它的唯一性,不要重复挂载一个脚本,否则它的唯一性就会被破坏。三、自动创建对象并挂载脚本的方法,不用手动挂载脚本,防止重复挂载。

2025-09-06 13:16:57 389

原创 01.单例模式基类模块

确保类只能通过内部的单例实例访问,从而保证整个程序生命周期中仅存在一个类实例,符合单例模式 “唯一实例” 的核心特性。但是游戏中一般会有很多这样的单例模式,一个一个去写重复性的东西太多了。1、私有的静态成员变量。私有构造函数的作用是。

2025-09-06 11:25:52 202

原创 泛型的相关知识点及作用

【代码】泛型的相关知识点及作用。

2025-07-03 14:52:40 147

原创 面向对象七大原则

迪米特法则:一个类要尽量减少对别的类的了解,尽量少用别的类和自己关联。开闭原则:对拓展开放,对修改封闭。新加功能尽量是加处理而不是改代码。单一职责原则:一个类只处理自己应该处理的内容,不应该啥都写在一起。合成复用原则:除非设计上需要继承,否则尽量用组合复用的形式。里氏替换原则:任何地方子类都能替代父类,父类容器装子类。依赖倒转原则:不要依赖具体的实现,要依赖抽象(接口)接口隔离原则:一个接口一个行为,不要一个接口n个行为。

2025-07-01 14:43:51 123

原创 结构体和类的区别

11.结构体不能在自己内部申明和自己一样的结构体变量,而类可以

2025-07-01 13:53:25 228

原创 里氏替换原则

【代码】里氏替换原则。

2025-06-25 19:19:34 113

原创 选择排序的基本原理及实现代码

【代码】选择排序的基本原理及实现代码。

2025-06-23 15:26:23 248

原创 位运算的基本原理

【代码】位运算的基本原理。

2025-06-19 20:14:13 103

原创 逻辑运算符短路规则

【代码】逻辑运算符短路规则。

2025-06-19 18:27:19 124

原创 字符串拼接

【代码】字符串拼接。

2025-06-19 14:51:20 180

原创 用两种不同的方法交换两个数字的值

【代码】用两种不同的方法交换两个数字的值。

2025-06-19 14:22:13 171

原创 算数运算符的自增

【代码】算数运算符的自增。

2025-06-19 13:54:13 113

原创 内置渲染管线和通用渲染管线的区别

允许开发者根据项目需求,通过脚本和相关API对渲染流程的各个阶段进行自定义,如插入自定义的渲染步骤、添加自定义的后处理效果等。通用渲染管线:虽然不像高清渲染管线(HDRP)那样专注于极致画质,但也能提供比内置渲染管线更丰富的光影效果和更高的画面质量,内置渲染管线:能实现基础的光影效果和后处理效果,但在高端光影效果,如光线追踪、复杂的全局光照等方面支持有限,但自定义选项相对有限,渲染次序基本是固定的,通用渲染管线:注重性能优化,在各种平台上,尤其是移动端和低端机器上,能提供更高效的渲染性能。

2025-02-05 14:35:29 376

原创 输出第一大值和第二大值

输出第一大值和第二大值

2025-02-05 12:37:23 148

原创 气温一直上升的最长连续天数

最近夏⽇炎热,令张三⾮常的不爽。最近张三开始研究天⽓的变化。历经千⾟万苦,他收集了连续。)天的最⾼⽓温数据。

2025-02-05 12:21:47 201

原创 判断输入的字符串是否是回文串

回文串是指从左到右读和从右到左读都一样的字符串,即字符串正序和逆序完全相同。例如,“racecar”“level”“12321”“上海自来水来自海上” 等都是回文串,忽略空格、标点符号和大小写后,它们的正向和反向字符排列完全一致。判断输入的字符串是否是回文串。

2025-02-05 12:01:59 233

原创 判断输入的字符串是否是合法字符

判断是否是合法字符

2025-02-05 11:49:36 108

原创 冒泡排序的原理及优化

冒泡排序的原理及优化

2025-02-05 10:48:53 916

原创 AssetBundle

这个对象完整保留了当初添加到压缩包内的所有内容,在游戏运行过程中,开发人员能够通过这个对象将所需内容加载出来并加以使用,实现灵活的资源管理与调用。serialized file(序列化文件):将资源拆解后整合在一个对象中,最终统一写入一个单独的文件,整个AssetBundle。resource files(源文件):像图片、声音这类二进制资源,会被单独保存,这样的设计便于快速加载,提高资源调用效率。,它能够容纳模型、贴图、预制体、声音,甚至整个场景,,提升游戏资源的加载效率。

2025-02-04 14:29:29 277

原创 unity中的动画混合树

介绍unity中为什么需要动画混合树以及动画混合树的使用方法。

2025-02-02 15:54:52 805

原创 在排好序的数组中插入一个数

个整数,已经按照从⼩到⼤顺序排列好,现在另外给⼀个整数。序列中,并使新的序列仍然有序,输出新的序列。

2025-02-01 16:02:44 102

原创 隐式类型转换和显示类型转换

赋值的时候,两边类型是需要⼀致的,如果不⼀致的话,就需要转换类型。进⾏转换,叫做隐式转换。有些情况下,需要我们告诉编译器进行类型转换,叫做显示转换,也。叫做强制类型转换,强塞。

2025-01-18 10:41:35 192

原创 实现四舍五入C#

【代码】实现四舍五入C#

2025-01-10 16:20:08 117

原创 线性表的接口定义及使用

【代码】线性表的接口定义及使用。

2025-01-09 22:26:36 429

原创 Reset()函数

把脚本挂载给游戏对象或者点击reset时,会进行打印。如果不在编辑状态下,则不会调用reset函数。定义并初始化 a,在引擎中更改a的值,再点击reset,会使a的值变为30。

2024-11-04 18:50:20 427 1

原创 单例模式的概念和用处

定义:单例模式可以确保一个类只有一个实例,并且提供一个访问它的全局访问点。这种模式通常用于那些需要频繁创建和销毁的对象,或者是作为系统配置、数据库连接等资源管理器的情况,以减少资源消耗并确保程序的一致性。请设计一个类,这个类不管在任何地方执行任何代码,不管执行多少次代码,要求这个类的对象在内存中只有。在普通模式下,方法循环五次,每次HashCode不同,代表不是同一个对象;在单例模式下,方法循环五次,每次HashCode相同,代表是同一个对象;

2024-11-04 15:36:01 475

原创 键值对和哈希冲突以及解决办法

这个整数对应着哈希桶的索引,由于输入是无线的,而输出的整数是有限的,会导致经过哈希运算得到相同的整数,索引相同,指向了同一个位置,这就是哈希冲突。用红黑树替换链表,因为链表查找慢,冲突过多时,不合适。存储数据时,key经过哈希运算得到一个。

2024-11-02 20:42:51 273

原创 装箱和拆箱

这是一个装箱的过程,把基本数据类型的数据转化为“类”类型的数据,反过来就是拆箱的过程。拆箱装箱涉及数据拷贝,应尽量减少拆箱装箱的次数,减少内存消耗。

2024-11-02 20:35:06 151

原创 对象池的作用以及简单示例

把对象放在一个集合里,通过集合来管理对象,不用对象的时候不要删除对象,而是放到集合里;需要对象时,先在集合里找是否有该对象,有直接使用,没有创建后使用。在游戏当中,有很多时候需要重复地创建或删除某些游戏对象,此时会耗费系统资源,从而影响性能,利用。通过按鼠标左右键来在场景中进行游戏对象的删除和创建,但实际上,并不是真正的删除,对象池能够节省内存,优化程序流畅程度。1、将一个游戏对象制作成预制体。2、创建一个空游戏对象并挂载脚本。按鼠标右键,会删除一个游戏对象。按鼠标左键,会创建一个游戏对象;

2024-11-02 15:49:04 662

原创 Unity中两个对象碰撞的两种方法

要求两个对象都要有碰撞体,且其中一个对象有刚体即可。要求两个对象都要有碰撞体和刚体。

2024-10-26 15:42:43 371

原创 unity克隆出的游戏对象在超过范围之后不销毁

【代码】unity克隆出的游戏对象在超过范围之后不销毁。

2024-10-22 16:27:26 385

原创 异常处理基础

在执行try语句中的代码时发生异常,程序流程将会立即跳转到catch语句,执行catch语句中的代码,而不是显示晦涩难懂的消息。可以得出结论:finally代码块总是会执行。finally语句块中的代码总是会执行。将异常作为参数传递进来。

2024-09-20 16:59:34 312

原创 区分局部变量和全局变量

在类里的是全局变量,在方法里的是局部变量。

2024-09-11 20:23:39 517

原创 static限定符

line 类中的 orign 成员被声明为 static ,这意味着它是类级别的成员,不是实例级别的成员。因此,所有的line类实例共享同一个orign成员。当删除static 关键字时会报错,这是因为试图在一个实例方法(Main方法)中访问一个非静态(实例成员)时,而这个成员却在类级别上被引用了。

2024-09-11 15:49:23 475

原创 显示数据类型转换和隐式数据类型转换的区别

2.隐式类型转换是由编译器自动完成的类型转换,不需要程序员显式地指定。隐式数据类型转换通常用于。1.显式类型转换时是指程序员明确指定将一个数据类型转换为另一种数据类型,,可能导致精度损失或者数据溢出。,这样可以避免数据丢失。

2024-08-31 19:10:00 313

原创 Decimal

这是因为 C# 中有多种数值类型,如果不加后缀,默认的数值字面值会被解释为。后缀用于标识一个数值字面值为。的范围,编译器会将其解释为。

2024-08-31 18:34:15 173

空空如也

空空如也

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

TA关注的人

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