- 博客(45)
- 收藏
- 关注
原创 秒懂MVC, MVP, MVVM框架
框架的目标关注点分离 (separation of concerns)低耦合 (Loose coupling)容易维护 (Maintainable)容易被测试 (Testable)
2024-10-21 00:20:48 186
原创 [WPF初学到大神] 1. 什么是WPF, MVVM框架, XAML?
WPF(Windows Presentation Foundation) 包含XAML标记语言和后端代码来开发桌面应用程序的.简单来说就是将一个复杂的应用程序开发过程分类成 前端, 交互 和 后端, 这样可以清晰明了编写对应的开发逻辑.可扩展应用程序标记语言, 简单来说就是通过代码进行前端(展现给用户的界面)设计.
2024-10-18 00:17:41 378
原创 Unity InputSystem指令
很相似,但它不会像Value一样(如果有多个输入时,不会只选择最主要的那个,而把其他的输入忽略)Values会优先考虑最大的输入值,而Pass Through会优先考虑最近的输入值,而不管它有多大。如果使用老的input Manager, 判断一个键是按了一次还是按下了(例如移动),通过检查对按住按钮的Get key或对单次按下的Get key down来完成。比如要做一个角色移动和角色驾驶的功能. 一个Action Maps去控制人物的移动,另一个Action Maps 用于驾驶控制.
2024-05-16 15:54:23 359
原创 超简单一学就会, unity使用fontawesome图标
1. 下载OTF资源 下载完解压→进入otfs文件夹, 可以选择或者全部丢进unity工程里随便一个文件夹,如图确保unity已经安装了Text Mesh Pro, 没下载的可以在package manager下载在unity找到字体资源,右键Create→TextMeshPro→FontAsset创建出来TMP格式的资源字体, 然后创建一个Text,引用这个字体访问官网的图标文档,选择想用的, 点开复制右上角的图标glyph,然后直接粘贴到unity文本框即可出现!
2024-02-22 12:53:39 238
原创 Unity数据类型Dictionary,List,数组 一文搞明白!
总的来说,数组是一种固定大小的数据结构,List是一种动态大小的数组,而Dictionary是一种键值对集合。数组是一种固定大小的数据结构,它包含一个固定数量的元素,这个数量在创建数组时就确定了,并且不能动态改变。数组在内存中是连续存储的,因此访问元素的速度很快,但是在插入或删除元素时可能需要移动其他元素,效率较低。Dictionary的实现通常是基于哈希表,因此查找元素的速度非常快,但是它的元素顺序是不确定的。数组中的每个元素都有一个索引,索引从0开始,依次递增,可以通过索引来访问数组中的元素。
2024-02-20 18:44:04 614
原创 游戏场景切换
场景切换的前提:该场景必须被打包,也就是 “File - Build setting” 这种将场景拖拽进Scene in Build, 排序第一的场景会作为游戏开始的开场场景.
2023-01-01 16:58:15 215
原创 角色控制器组件
Time.deltaTime):类似Transform.Translate,角色控制器组件 : 不会像rigidbody刚体被弹开, 穿模.,需要传递一个方向和速度,所以**需要。,本身按照时间来计算的,**不需要。
2023-01-01 00:45:43 155
原创 InputManager
Type:【类型】所有的按钮输入都应设置为 键/鼠标 (Key / Mouse) 类型,对于鼠标移动和滚轮应设为 鼠标移动(Mouse Movement)。Sensitivity:【灵敏度】对于键盘输入,该值越大则响应时间越快,该值越小则越平滑。Snap:【对齐】如果启用该设置,当轴收到反向的输入信号时,轴的数值会立即置为0,仅用于 按键/鼠标 输入。默认是接收所有摇杆的输入。Dead:【一个阈值】任何小于该值的输入值(不论正负值)都会被视为0,用于摇杆。Axis:【轴】设备的输入轴(摇杆,鼠标,手柄等)
2022-12-28 19:24:07 178
原创 2D游戏刚体&碰撞体&Trigger触发
Ps: 默认重力加速度可在顶部菜单Edit - Project setting - Physics 2D - Gravity属性设置(默认:-9.81)通常如果游戏物体运动,则需要➕刚体组件。
2022-12-28 17:23:57 318
原创 2D游戏&Sprite&Sprite Renderer
第一步: 把相机中Camera组件中的"Projection""属性改为Orthographic(改成非3D近大远小视图)第二步: 把Scene开发模式改为2D。
2022-12-28 10:15:10 135
原创 观察者模式
又称为"发布/订阅模式", 观察者模式定义了一对多的依赖关系,让多个观察对象同时监听某一个主对象.这个主对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己.此种模式通常被用来实现事件处理系统。发布者+订阅者 = 观察者。
2022-11-10 21:13:13 100
原创 单例 模式(调用其他class内的方法避免重复new实例化导致复用)
概念: 一个类只能有一个实例,也就是类只能在内部实例一次,然后提供这一实例,外部无法对此实例化.
2022-11-09 21:46:26 253
原创 匿名方法/event事件和多播委托
Event事件本身就是一种委托,只是Event只能作为类的成员(类下一级,与方法平级),且不可在类外或跨类运行event委托;跨类赋方法,只能通过"+=“,而普通Action可以直接”="进行赋方法.:一个委托中注册多个方法,在注册方法时可以在委托中使用"+“或”-"来实现添加或撤销方法。
2022-11-08 15:16:21 101
原创 Func泛型委托(系统内置不用创建委托,带返回值)
Func 表示传入参数为参数类型1, 参数类型2,返回值为返回类型的委托.Func 表示传入参数为T1, T2(泛型),返回值为返回类型的委托.Func至少输入0-16个泛型参数,必须有1个返回值,不可void.Func表示没有输入参数,返回值为int类型的委托.
2022-11-08 13:46:13 237
原创 委托(把方法作为参数进行传递)
方式1: MyDelegate1 mydelegate = new MyDelegate1 (func)如果要把方法作为参数进行传递,就要用委托. 委托是一个类型,可以赋值一个方法的引用.通过。方式1: delegate void MyDelegate1( int x )方式1: delegate void MyDelegate2( T x )方式1: MyDelegate1 mydelegate = func。
2022-11-07 10:20:40 1346
原创 装箱和拆箱
/值类型(存储在栈): byte (u)short (u)int (u)long bool enum struct。//引用类型(存储在堆): string int[] class interface。值类型 转换成 引用类型。引用类型 转换成 值类型。
2022-11-06 23:30:30 50
原创 值类型检测和值类型转换
/值类型(存储在栈): byte (u)short (u)int (u)long bool enum struct。//引用类型(存储在堆): string int[] class interface。隐式转换. 发生在低精度数据类型自动转高精度数据类型。
2022-11-06 23:19:33 59
原创 泛型类 泛型方法
如果class里的方法有传值,如果改变值类型,需要把class里所有涉及到的旧类型都要手动修改一轮,会非常繁琐,这时候就可以用到泛型.1.创建声明时可以不指定具体类型,但new实例化时必须指定T类型;3.如果子类也是泛型, 那么继承的时候可以不指定具体类型。主要处理一组功能一样,仅类型不同的任务时。2.可指定泛型类型约束。
2022-11-03 23:20:20 218
原创 静态类 抽象类 密封类
抽象函数内若方法声明为abstract,则不能包含函数方法体,子类必须override抽象类中abstract方法。应用:抽象类是提炼出一些类共有的属性或函数接口的组织,为子类提供设计思想,配合多态多用于代码架构设计。只有一个静态构造函数(静态类的静态构造函数不会执行),不可以有实例构造函数。抽象类的静态构造函数只执行一次,其他构造函数可多次执行。内部成员,必须是 静态成员/只读const变量。不能被实例化(不能通过new创建实例)不能被实例化(不能通过new创建实例)抽象类可作为父类被继承。
2022-11-02 00:12:10 128
原创 只读变量(const, readonly) 和 类内可写类外只读(get set)
在类内声明的const变量,外部访问只能通过class类名.进行访问;只能在创建变量时初始化值;某种程度,const变量不可变值。:外部访问只能通过class实例化名.进行访问,但不可修改值;赋值初始化只能在构造函数中或创建变量时初始化.同class类中可赋值,其他class类中只读。
2022-11-01 23:45:12 535
原创 方法&重载(重复一个行为)
/若方法与Main方法同在一个类中,可省略类名。1.public:访问修饰符,公开的,公共的,哪都可以访问。3.返回值类型,如果不需要写返回值,写void。2.static:静态的。
2022-10-29 20:17:49 254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人