自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 Unitask笔记

【代码】Unitask笔记。

2023-01-22 15:50:16 270

原创 Unity游戏发布

游戏发布

2023-01-01 18:52:48 636

原创 调整音量并自动保存

【代码】调整音量并自动保存。

2023-01-01 18:27:04 146

原创 游戏声音系统

【代码】游戏声音系统。

2023-01-01 18:11:50 106

原创 游戏场景切换

场景切换的前提:该场景必须被打包,也就是 “File - Build setting” 这种将场景拖拽进Scene in Build, 排序第一的场景会作为游戏开始的开场场景.

2023-01-01 16:58:15 215

原创 Shader渲染

游戏渲染管线(渲染模式):

2023-01-01 10:40:16 141

原创 角色控制器组件

Time.deltaTime):类似Transform.Translate,角色控制器组件 : 不会像rigidbody刚体被弹开, 穿模.,需要传递一个方向和速度,所以**需要。,本身按照时间来计算的,**不需要。

2023-01-01 00:45:43 155

原创 3D刚体移动

【代码】3D刚体移动。

2022-12-30 15:17:01 114

原创 3D物理射线

【代码】3D物理射线。

2022-12-30 14:57:48 138

原创 InputManager

Type:【类型】所有的按钮输入都应设置为 键/鼠标 (Key / Mouse) 类型,对于鼠标移动和滚轮应设为 鼠标移动(Mouse Movement)。Sensitivity:【灵敏度】对于键盘输入,该值越大则响应时间越快,该值越小则越平滑。Snap:【对齐】如果启用该设置,当轴收到反向的输入信号时,轴的数值会立即置为0,仅用于 按键/鼠标 输入。默认是接收所有摇杆的输入。Dead:【一个阈值】任何小于该值的输入值(不论正负值)都会被视为0,用于摇杆。Axis:【轴】设备的输入轴(摇杆,鼠标,手柄等)

2022-12-28 19:24:07 178

原创 鼠标&键盘输入监测

【代码】鼠标&键盘输入监测。

2022-12-28 18:42:14 201

原创 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

原创 Math类;Time类

【代码】Math类;Time类。

2022-12-28 01:43:37 93

原创 协程方法函数(类似异步)

【代码】协程方法函数。

2022-12-28 01:16:05 81

原创 Invoke计时器

【代码】Invoke计时器。

2022-12-28 00:54:34 107

原创 GameObject物体对象

【代码】GameObject物体对象。

2022-12-28 00:35:04 56

原创 php连接mssql 和 查询sql写法

【代码】php连接mssql 和 查询sql写法。

2022-12-27 09:46:54 126

原创 Invoke计时器

【代码】Invoke计时器。

2022-11-10 21:29:56 145

原创 观察者模式

又称为"发布/订阅模式", 观察者模式定义了一对多的依赖关系,让多个观察对象同时监听某一个主对象.这个主对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己.此种模式通常被用来实现事件处理系统。发布者+订阅者 = 观察者。

2022-11-10 21:13:13 100

原创 Unity生命周期函数

【代码】Unity生命周期函数。

2022-11-09 23:35:06 696

原创 单例 模式(调用其他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

原创 unity - transform组件

【代码】unity - transform组件。

2022-11-07 23:50:35 1115

原创 委托(把方法作为参数进行传递)

方式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

原创 struct 结构体

struct结构体和class类的异同

2022-11-05 23:47:22 63

原创 接口和抽象类的区别

接口和抽象类的区别

2022-11-04 23:47:29 55

原创 接口(约束一些行为规范)

用法: interface + 接口名。

2022-11-04 23:29:04 115

原创 泛型类 泛型方法

如果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关注的人

提示
确定要删除当前文章?
取消 删除