- 博客(21)
- 收藏
- 关注
原创 设计模式之观察者模式
观察者模式是一种行为设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。观察者模式通过定义一对多的依赖关系,使得对象之间的通信变得更加灵活和松耦合。通过接口和具体类的实现,可以实现动态的观察者管理和事件通知。
2024-07-14 11:36:10
815
1
原创 优化Cocos Creator 包体体积
优化Cocos Creator项目的包体体积是一个常见且重要的任务,尤其是在移动设备和网络下载速度受到限制的环境中。
2024-07-13 18:47:59
1484
原创 MVC模式详解
MVC模式是一种广泛使用的设计模式,通过将应用程序分为模型、视图和控制器三部分,实现了关注点分离,提高了代码的可维护性和可扩展性。尽管引入MVC模式可能增加系统的复杂性,但对于中大型应用程序来说,其优点远远超过缺点。在实际应用中,MVC模式可以与其他设计模式结合使用,以实现更复杂和灵活的系统架构。
2024-07-13 11:06:20
2221
原创 设计模式之单例模式
单例模式(Singleton Pattern)是一种设计模式,其目的是确保一个类只有一个实例,并提供一个全局访问点来访问该实例。这在某些情况下非常有用,比如需要一个唯一的配置管理器、日志记录器、或资源管理器。
2024-07-11 21:26:36
600
原创 状态同步和帧同步原理细节
状态同步通过周期性发送游戏状态,适用于简单实现和高一致性需求的场景,但可能引入延迟和带宽消耗。帧同步通过同步执行输入,确保所有客户端状态的一致性,适用于高精度和低延迟需求的场景,但实现复杂且需要处理同步问题。
2024-07-11 15:40:53
759
原创 Cocos Creator 游戏性能优化指南
游戏开发中,流畅的游戏体验是玩家最关心的问题之一。一个卡顿的游戏会严重影响玩家的体验,甚至让玩家失去继续玩的兴趣。因此,优化游戏性能是每个游戏开发者必须掌握的技能。本文将详细介绍在使用Cocos Creator进行游戏开发时的一些性能优化技巧。
2024-07-04 08:47:40
5549
原创 游戏开发中的对象池:制作与使用
对象池技术(Object Pooling)是一种优化方法,用于管理和重复利用对象,减少频繁创建和销毁对象的开销,特别适用于需要频繁生成和回收对象的场景,如子弹、敌人、特效等。通过对象池技术,可以显著提升游戏性能,减少内存碎片和垃圾回收的压力。
2024-07-04 08:21:51
719
原创 Typescript中any和unknown的区别
Typescript 的 unknown 类型是一种特殊的类型,它表示的是那些类型不确定的值的类型。unknown 类型和 any 类型的主要区别是,unknown 类型更加安全,因为在对 unknown 类型的值进行任何操作之前,我们必须进行某种形式的类型检查或断言。而 any 类型则可以直接进行任何操作,而不需要类型检查,这可能会导致潜在的错误。类型需要进行类型检查,必须明确地将变量转换为所需类型。unknown 类型不能访问其属性,也不能调用其方法,除非使用类型断言或类型保护。
2024-07-03 14:51:41
221
原创 Typescript Null和Undefined的区别
Typescript是一种基于JavaScript的变成语言,支持静态类型检查和面向对象的特性。Typescript中的Null和Undefined分别表示空值和未定义的值。。
2024-07-03 14:50:47
812
原创 TCP/IP协议详解
TCP/IP协议是互联网和许多现代网络通信的基础。它提供了一套标准化的通信协议,使得不同设备和系统能够在同一网络上互相通信。本文将详细介绍TCP/IP协议的各个方面,帮助读者理解其工作原理和应用场景。
2024-07-01 17:59:07
5347
原创 Dictionary、Map底层源码详解
Dictionary 字典型数据结构,是以关键字Key 和 值Value 进行一一映射的。Key的类型并没有做任何的限制,可以是整数,也可以是的字符串,甚至可以是实例对象。对于实例对象和字符串来说,它们没有直接的数字作为Hash标准,因此它们需要通过内存地址计算一个Hash值。
2024-06-28 08:22:32
1281
原创 Stack底层源码解析
Stack是一个通用集合类,用于存储具有先进后出特性的一组对象。底层实现依赖于动态数组,并通过一系列方法提供基本的栈操作,例如入栈、出栈和查看栈顶元素。
2024-06-26 09:36:47
302
原创 状态机详解
状态机(State Machine)是一种数学模型,用于描述对象在不同状态之间的转移和行为,由一组状态、一组事件和一组转换规则构成。
2024-06-25 15:13:06
1774
原创 List底层源码详解
常用的List是个通用的集合类,常常用它代替数组,因为它可以动态扩容,在我们写的时候不用手动去分配数组大小。List底层实现的关键在于其动态数组的管理、自动扩展机制以及内存操作优化。List效率不高,通用性强,大部分接口都是使用线性复杂度的算法,当List里的元素不断增加时,会多次重新new数组,导致原来的数组被抛弃,最后当GC被调用时造成回收的压力。
2024-06-25 15:11:43
1140
原创 WebSocket详解
WebSocket是一种在单个TCP连接上进行全双工通信的协议,工作在OSI模型的应用层。它允许浏览器和服务器之间建立持久连接,从而进行双向实时的数据传输。
2024-06-21 15:24:24
984
1
原创 HTTP协议详解
HTTP协议工作在应用层,基于TCP/IP协议传输数据。HTTP 的基本工作原理是客户端通过使用网页浏览器,发起一个HTTP请求到服务器上指定端口(默认端口为80),服务器接收到请求后,返回相应的资源。这些资源可以是网页、图像、音频文件、视频等。
2024-06-21 15:08:16
1134
原创 Unity组件学习
Unity中的每个对象都会有一个唯一的Transform组件,Transform组件决定了该对象在Unity世界坐标中的位置,可通过更改Position属性的值移动对象的位置、更改Rotation属性的值旋转对象、更改Scale属性的值缩放对象。如果当前对象有父物体,是相对于父物体进行改变,没有父物体则默认相对于世界坐标改变。......
2022-08-29 13:05:54
1383
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人