
C#
文章平均质量分 77
Hunter_2020
这个作者很懒,什么都没留下…
展开
-
unity面试八股文 - 常用工具与算法
首先,你需要定义一个地图或者格网。这个地图上标记出起始点、目标点以及所有不能通过(例如墙壁或障碍物)的区域。原创 2023-10-24 15:57:08 · 1870 阅读 · 2 评论 -
unity面试八股文 - 基础篇
如果你需要更多控制和复杂的渲染选项(如颜色渐变, 填充, 遮罩等), 使用 Image. 如果你只是想简单地展示一个纹理并且不需要额外功能, 或者你正在处理不能转换为 Sprite 的纹理类型(例如WebCamTexture或RenderTexture)时,那么选择 Raw Image.原创 2023-10-12 15:15:49 · 3167 阅读 · 0 评论 -
行为设计模式-命令模式
命令模式(Command Pattern)是一种行为设计模式,它将请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化,同时支持请求的排队、记录日志、撤销和重做等操作。命令模式可以将请求的发送者和接收者解耦,以便在请求的生命周期内可以分别进行修改和复用。原创 2023-03-14 12:04:12 · 390 阅读 · 0 评论 -
用python自动生成C#代码
Python 可以通过一些第三方库来自动生成 C# 代码,以下是一些常见的库和工具:原创 2023-03-09 11:47:27 · 3289 阅读 · 0 评论 -
[设计模式] 行为设计模式-组合模式
组合模式(Composite Pattern)是一种结构型设计模式,它允许将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式使得客户端可以以统一的方式处理单个对象和对象组合,从而使得在树形结构中处理对象更加简单和灵活。原创 2023-03-07 10:25:46 · 360 阅读 · 1 评论 -
[设计模式] 创建型设计模式
创建型设计模式是一类用于创建对象的设计模式,它们的共同目标是尽可能地降低对象创建的复杂度和耦合度,使得代码更加灵活、可扩展、易维护。原创 2023-03-07 09:57:25 · 127 阅读 · 0 评论 -
行为设计模式
行为设计模式可以帮助我们更好地组织代码,提高代码的复用性和可维护性。在游戏开发中,常常用到观察者模式来处理事件和消息的分发、迭代器模式来遍历游戏对象的集合、责任链模式来处理输入事件、策略模式来处理游戏中的AI行为等等。原创 2023-03-06 14:06:22 · 338 阅读 · 0 评论 -
[C#] 多线程单例子,分为阻塞型和分阻塞型, 在unity里的应用
在单例中使用多线程时,需要注意以下几点:线程安全:在多线程环境下,单例对象可能被多个线程同时访问,因此需要确保单例的线程安全,避免出现数据竞争等问题。对象创建:如果在单例对象的构造函数中启动了新的线程,那么可能会在单例对象还没有完全创建完成时就开始执行线程。因此,在创建单例对象时需要考虑到线程的启动时机,可以使用懒汉式的延迟加载方式,在需要使用单例对象时再进行初始化。生命周期管理:如果在单例对象中启动了线程,那么需要考虑线程的生命周期管理,避免线程一直运行导致资源泄漏等问题。原创 2023-03-03 18:07:45 · 954 阅读 · 0 评论 -
[游戏架构] 有限状态机的实际应用
有限状态机(Finite State Machine,简称FSM)是一种常用的计算机科学中的建模工具,用于描述由离散状态和状态之间的转换组成的系统。它主要由一个有限的状态集合、一个初始状态、一个输入事件集合、状态之间的转换以及与每个状态相关联的输出动作组成。原创 2023-03-03 11:59:10 · 1256 阅读 · 0 评论 -
[unity] 游戏内的红点系统
在游戏中,通常需要给玩家提示一些未完成的任务或者活动,这些提示以红点的形式展示,被称为红点系统。红点系统可以帮助玩家了解当前有哪些任务或者活动需要完成,从而提高玩家的参与度和粘性。原创 2023-03-02 17:07:17 · 1819 阅读 · 0 评论 -
[架构设计] Entity-Component-System (ECS)架构
Entity-Component-System (ECS)架构:这是一种基于数据的架构,将游戏对象(Entity)表示为一组组件(Component)的集合,将游戏逻辑实现为系统(System),系统会根据组件的状态进行处理。这种架构具有高效、可扩展等优点,被广泛应用于游戏引擎中,例如Unity的DOTS框架。原创 2023-03-01 11:34:33 · 2221 阅读 · 0 评论 -
[框架设计] MVVM 的介绍,应用及优缺点
在MVVM中,View是完全独立于Model的,ViewModel则是连接View和Model的桥梁。View通过ViewModel访问Model中的数据和方法,ViewModel则将Model中的数据和方法转换为View中可用的形式。ViewModel还可以控制View的显示逻辑和用户交互,以使View更加易于维护和扩展原创 2023-02-28 11:04:20 · 2612 阅读 · 0 评论 -
[架构模型]MVC模型详细介绍,并应用到unity中
MVC模式是一种软件架构模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式的目标是实现应用程序的松耦合,以便在应用程序的不同部分进行更改时,不会影响到其它部分的代码。原创 2023-02-26 16:29:58 · 1169 阅读 · 0 评论 -
unity热更新新方案,ILRuntime
ILRuntime 是一个独立的、跨平台的 .NET Runtime,可用于在 Unity 中实现热更功能。使用 ILRuntime,您可以在游戏运行时加载和执行 C# 脚本,而不需要重新编译整个项目。原创 2023-02-25 20:03:30 · 1209 阅读 · 0 评论 -
[unity] async-awit的函数,怎么才能关闭这个函数呢,现在来解析
在上面的示例中,我们使用UnityWebRequest启动了一个异步请求,并使用isDone属性来检查异步操作是否已完成。在上面的示例中,我们在调用MyAsyncFunction函数后等待了一段时间,并在此之后使用Task对象的Cancel属性来取消异步操作。在上面的示例中,我们在MyAsyncFunction函数中使用了while循环来执行异步操作,并在满足某些条件时终止循环。Unity还提供了其他的异步API,如AsyncOperation和Task,您可以根据您的需要选择适合的方法来取消异步操作。原创 2023-02-24 11:31:48 · 1841 阅读 · 0 评论 -
[Math] Unity 可能用到的数学函数
Mathf.Abs 绝对值计算并返回指定参数 f 绝对值。Mathf.Acos 反余弦static function Acos (f : float) : float以弧度为单位计算并返回参数 f 中指定的数字的反余弦值。Mathf.Approximately 近似static function Approximately (a : float, b: float) : bool比较两个浮点数值,看它们是否非常接近, 由于浮点数值不精确,不建议使用等于来比较它们。例如,1.0==10.0/原创 2020-06-20 21:09:47 · 1251 阅读 · 0 评论 -
[C#] C# 优化内存和运行效率
1、用 GetEnumerator() 遍历dictionary 和 list ,避免使用 foreach ; 用using 包裹,可自动调用Dispose2、dictionary 使用 TryGetValue 一次判断取值,避免两次访问3、值类型使用引用方式传递,可提高效率 ref4、避免无意义的初始化,C# 默认初始化是清除内存,所以无意的初始化,会增加内存5、字符串判断, 使用 比较length ==0 效率更高6、cahe 数据,可以避免反复访问;7、减少字原创 2020-06-20 21:02:24 · 2369 阅读 · 0 评论 -
[计算机基础] C# 关键字
详情unchecked 算术溢出不检测(默认为不检测checked 算术溢出 检测 checked{ int a = int.maxvalue*2; }decimal 高精度的数据类型 用于天文或金融的大数据中explicit 声明显示的用户定义类型转换运算符 可重写显示转换implicit 声明隐式的用户定义类型转换运算符 可重写隐式转化extern 修饰符用于声明在外部实现的方法 eg.[DllImp原创 2020-06-20 21:00:48 · 163 阅读 · 0 评论