里氏转换原则示例
什么是里氏替换原则(LSP)?
Liskov Substitution Principle( LSP)是面向对象设计的五大原则(SOLID)中的“L”。它的核心思想是:
子类必须能够替换掉它们的父类,而不会破坏程序。
换句话说,程序中任何使用父类(基类) 对象的地方,都应该可以透明地替换为其任意子类(派生类) 的对象,并且程序的行为依然是正确的。
以某个道具类举例,
基类(PowerUpItem) :定义了所有道具的 公共接口(Contract) 。这个“合约”就是那些虚方法:ApplyEffect, RemoveEffect, Awake, Start, Update。
子类(PowerUpCircle, PowerUpGhost等) :每个子类都继承了这...
C#内存模型:值类型、引用类型与装箱拆箱机制
基础概念:内存区域与数据类型
堆(Heap) vs 栈(Stack)
特性
栈
堆
分配速度
极快(移动指针)
较慢(查找+分配)
生命周期
作用域结束自动释放
GC管理
存储内容
局部变量/参数/返回值
对象实例
大小限制
较小(默认1-4MB)
仅受物理内存限制
值类型(Value Type)本质
内存行为:直接存储数据本身
生命周期:作用域绑定(栈)或依附容器...
SOLID原则
SOLID原则是面向对象设计中的五个基本原则,它们分别是
单一职责原则(SRP)
开闭原则(OCP)
里氏替换原则(LSP)
接口隔离原则(ISP)
依赖倒置原则(DIP)。
这些原则旨在提高代码的可维护性、可扩展性和复用性,同时降低修改代码时的风险。
单一职责原则(SRP)
SRP全称Single Responsibility Principle。
单一职责原则指出,一个类应该只有一个引起变化的原因。这意味着一个类应该只负责一项任务或功能。例如,如果一个类负责处理用户信息和生成报告,那么它违反了单一职责原则。这个原则有助于降低类的复杂性,使代码更易于理解和维护。
核心思想
单一功能:一个类或模块应该只负责一个功能或业务逻辑,避免承担过多的职...
Unity问题
Questionxxx:
文档链接xxx
唠嗑去找游戏原声带,
哈特诺村-塞尔达传说
memory of summer-女神异闻录5
懒得找直接去星露谷找原声带,基本上小镇bgm都适合唠嗑
很多游戏原声带就是为了铺垫平和小镇气氛的
Unity做游戏为什么当物体销毁后其下的各种引用不用手动释放内存而委托事件必须取消订阅以防内存泄露? - 知乎,
入职游戏客户端开发的困惑,希望有大佬能解答? - 知乎,
【游戏开发之客户端那点破事—红点系统】 - 知乎
游戏开发博主
阿严Dev:Blender,[Unity] 平台游戏控制器教程,[Unity] UI 工具包 教程合集,【Unity教程】如何从头开始制作一个横版卷轴射击游戏,
Voidmatrix:游戏开发理论,C++游...
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(按钮...
UGUI-UIHowTos-Creating Screen Transitions
Creating Screen Transitions(创建界面切换效果)
在多个 UI 界面之间切换是非常常见的需求。本页将介绍一种使用 Animation(动画) 和 State Machines(状态机) 来驱动并控制每个界面切换的简单方法。
Overview(概述)
核心思路是:我们为每个界面配置一个 Animator Controller(动画控制器) ,其中包含两个状态(Open(打开) 和 Closed(关闭) )以及一个布尔型 Parameter(参数) (Open)。切换界面时,你只需关闭当前已打开的界面,并打开目标界面。
为了简化操作,我们将创建一个小型的 ScreenManager(界面管理器) 类,用于记录并处理关闭已打开界面的任务。触发切换的按钮...
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 组件的同一个 ...
47 post articles, 6 pages.