Home

C#内存模型:值类型、引用类型与装箱拆箱机制

基础概念:内存区域与数据类型 堆(Heap) vs 栈(Stack) 特性 栈 堆 分配速度 极快(移动指针) 较慢(查找+分配) 生命周期 作用域结束自动释放 GC管理 存储内容 局部变量/参数/返回值 对象实例 大小限制 较小(默认1-4MB) 仅受物理内存限制 值类型(Value Type)本质 内存行为:直接存储数据本身 生命周期:作用域绑定(栈)或依附容器...

Read more

SOLID原则

SOLID原则是面向对象设计中的五个基本原则,它们分别是 单一职责原则(SRP) 开闭原则(OCP) 里氏替换原则(LSP) 接口隔离原则(ISP) 依赖倒置原则(DIP)。 这些原则旨在提高代码的可维护性、可扩展性和复用性,同时降低修改代码时的风险。 单一职责原则(SRP) SRP全称Single Responsibility Principle。 单一职责原则指出,一个类应该只有一个引起变化的原因。这意味着一个类应该只负责一项任务或功能。例如,如果一个类负责处理用户信息和生成报告,那么它违反了单一职责原则。这个原则有助于降低类的复杂性,使代码更易于理解和维护。 核心思想 单一功能:一个类或模块应该只负责一个功能或业务逻辑,避免承担过多的职...

Read more

Unity问题

Questionxxx: 文档链接xxx 唠嗑去找游戏原声带, 哈特诺村-塞尔达传说 memory of summer-女神异闻录5 懒得找直接去星露谷找原声带,基本上小镇bgm都适合唠嗑 很多游戏原声带就是为了铺垫平和小镇气氛的 Unity做游戏为什么当物体销毁后其下的各种引用不用手动释放内存而委托事件必须取消订阅以防内存泄露? - 知乎, 入职游戏客户端开发的困惑,希望有大佬能解答? - 知乎, 【游戏开发之客户端那点破事—红点系统】 - 知乎 游戏开发博主 阿严Dev:Blender,[Unity] 平台游戏控制器教程,[Unity] UI 工具包 教程合集,【Unity教程】如何从头开始制作一个横版卷轴射击游戏, Voidmatrix:游戏开发理论,C++游...

Read more

UGUI-UIHowTos-Creating UI elements from scripting

Creating UI elements from scripting(通过脚本创建 UI 元素) 如果你正在创建一个动态 UI,其中的 UI 元素会根据用户操作或游戏中的其他行为出现、消失或变化,那么你可能需要编写脚本,根据自定义逻辑实例化新的 UI 元素。 Creating a prefab of the UI element(创建 UI 元素的预制体) 为了能够动态地轻松实例化 UI 元素,第一步是为你想要实例化的 UI 元素类型创建一个 Prefab(预制体) 。在场景中按照你希望的方式设置 UI 元素,然后将该元素拖入 Project View(项目视图) 中,将其变为一个预制体。 例如,一个按钮的预制体可能是一个包含 Image(图像)组件 和 Button(按钮...

Read more

UGUI-UIHowTos-Creating Screen Transitions

Creating Screen Transitions(创建界面切换效果) 在多个 UI 界面之间切换是非常常见的需求。本页将介绍一种使用 Animation(动画) 和 State Machines(状态机) 来驱动并控制每个界面切换的简单方法。 Overview(概述) 核心思路是:我们为每个界面配置一个 Animator Controller(动画控制器) ,其中包含两个状态(Open(打开) 和 Closed(关闭) )以及一个布尔型 Parameter(参数) (Open)。切换界面时,你只需关闭当前已打开的界面,并打开目标界面。 为了简化操作,我们将创建一个小型的 ScreenManager(界面管理器) 类,用于记录并处理关闭已打开界面的任务。触发切换的按钮...

Read more

UGUI-UIHowTos-Making UI elements fit the size of their content

Making UI elements fit the size of their content(使 UI 元素适应其内容的大小) 通常,当使用其 Rect Transform(矩形变换) 来定位一个 UI 元素时,其位置和大小是手动指定的(也可以选择设置为随着父 Rect Transform(矩形变换) 拉伸的行为)。 然而,有时你可能希望该矩形根据 UI 元素的内容自动调整大小。这可以通过添加一个名为 Content Size Fitter(内容尺寸适配器) 的组件来实现。 Fit to size of Text(适应 Text 文本的大小) 为了使带有 Text(文本) 组件的 Rect Transform(矩形变换) 适应其文本内容,需在拥有该 Text 组件的同一个 ...

Read more

UGUI-UIHowTos-Designing UI for Multiple Resolutions

UI How Tos(UI 操作指南) 在本节中,你可以学习解决常见 UI 任务的方法。 Designing UI for Multiple Resolutions(为多种分辨率设计 UI) 现代游戏和应用通常需要支持各种不同的屏幕分辨率,尤其是 UI 布局需要能够适应这些分辨率。Unity 中的 UI 系统提供了多种工具来实现这一目标,并可以以多种方式进行组合使用。 在本操作指南中,我们将使用一个简单的案例研究,并在其背景下查看和比较不同的工具。在我们的案例中,屏幕的三个角上各有一个按钮,如下所示,我们的目标是使该布局适应各种分辨率。 在本操作指南中,我们将考虑四种屏幕分辨率:Phone HD(高清手机)纵向(640 x 960)和横向(960 x 640),以及 Ph...

Read more