UD4L4——文件夹相关
UD4L4——文件夹相关
本章代码关键字
1234567891011121314Directory //文件夹操作类Directory.Exists() //判断文件夹是否存在Directory.CreateDirectory() //创建文件夹Directory.Delete() //删除文件夹Directory.GetDirectories() //获取该文件夹下的所有文件夹名Directory.GetFiles() //获取该文件夹下的所有文件名DirectoryInfo //文件夹信息类directoryInfo.FullName //文件夹全路径directoryInfo.Name //文件夹名Directory.GetParent() //获取文件夹的父文件夹directoryInf ...
CS2L3——数组
CS2L3——数组
本章代码关键字
12345array[] //通过索引获取数组中的某个元素array[,] //二维数组array[][] //二维或者交错数组array.Length //获取数组所有元素的长度array.GetLength() //获取某一行(传入0)或者某一列(传入1,二维数组才能获取列数)的长度
数组
数组是存储一组相同类型数据的集合,数组分为一维、多维、交错数组
一般情况下,一维数组就简称为数组
概念:同一变量类型的连续的数据集合
一定要掌握的知识:申明,遍历,增删查改
所有的变量类型都可以申明为数组
她是用来批量存储游戏中的同一类型对象的容器,比如,所有的怪物,所有玩家
数组的申明
1变量类型[] 数组名; //这只是申明一个数组,但是并没有为其开辟内存空间
变量的类型,可以是我们学过的,或者没学过的,所有变量类型
以下是5种数组声明方式
12345678910111213141516int[] arr1;// 变量类型[] 数组名 = new 变量类 ...
CS2L2——枚举
CS2L2——枚举
本章代码关键字
1enum //枚举
枚举
枚举是一个比较特别的存在,它是一个被命名的整形常量的集合
一般用它来表示 状态 类型 等等
换句话说,枚举可以认为是给一组整数取名字,
然后,使用这组其中一个名字 来与同样是这组的一个名字比较,判断这两个名字背后数值是否是相同
申明枚举 和 申明枚举变量
注意:申明枚举 和 申明枚举变量 是两个概念
申明枚举:相当于是创建一个自定义的枚举类型
申明枚举变量:使用申明的自定义枚举类型,创建一个枚举变量
一个是创建枚举,一个是使用创建出来的枚举作为类型来创建变量
申明枚举语法
枚举名 以E或者E_开头 作为我们的命名规范
123456789101112131415enum E_自定义枚举名{ 自定义枚举项名字, //0,枚举中包裹的整形常量,第一个默认值是0 下面会依次累加 自定义枚举项名字1, //1 自定义枚举项名字2, //2}enum E_自定义枚举名{ 自定义枚举项名字 = 5, // 5 第一个枚举项的默认值 变成5了 自 ...
CS2L1——复杂数据类型概述
CS2L1——复杂数据类型概述
已经学过的变量类型
详细内容 ——> CS1L2——变量
有符号:sbyte int short long
无符号:byte uint ushort ulong
浮点:float double decimal
特殊:bool char string
变量的本质
详细内容 ——> CS1L3——变量的本质
变量的本质是2进制,在内存中都以字节的形式存储着,1byte = 8bit,1bit(位)不是0就是1
变量占用的内存空间由它的变量类型决定,例如一个int类型的变量,就在内存里占用4byte的空间
复杂数据类型特点
数据集合
一般是多个数据(变量)集合在一起构成的数据
自定义
一般可以自己取名字,可以自定义的数据(变量)
举个例子
枚举:整形常量的集合,可以自定义
数组:任意变量类型顺序存储的数据
结构体:任意变量的数据集合,可以自定义
UD4L3——文件流相关
UD4L3——文件流相关
本章代码关键字
1234567891011FileStream //文件流类,用于读写文件的细节new FileStream() //文件流的构造函数,需要传入要读取文件来构造文件流fileStream.Length //文件流的字节长度fileStream.CanWrite //文件流是否可写fileStream.CanRead //文件流是否可读fileStream.Flush() //将文件流缓存内的字节全部写入到文件fileStream.Close() //关闭字节流fileStream.Dispose() //将字节流的缓存资源销毁回收fileStream.Write() //文件流写入字节fileStream.Read() //文件流读取字节using () { } //在using括号内声明的变量将在代码块执行完毕后,会自动执行Dispose方法,并被销毁,用于安全的文件操作
文件流
在C ...
UD4L2——文件相关
UD4L2——文件相关
本章代码关键字
1234567891011121314System.IO //输入输出命名空间File //文件操作公共类File.Exists() //判断文件是否存在File.Create() //创建文件File.WriteAllBytes() //向文件覆盖写入字节数组File.WriteAllLines() //向文件覆盖一行行写入字符串数组File.WriteAllText() //向文件覆盖写入字符串File.ReadAllBytes() //读取文件字节数组File.ReadAllLines() //读取以一行字符串为元素,从文件内读取字符串数组File.ReadAllText() //读取文件字符串File.Delete() //删除文件File.Copy() //复制文件File.Replace() //替 ...
UD4L1——各类型数据转字节数据
UD4L1——各类型数据转字节数据
本章代码关键字
1234567BitConverter //字节数据转换器类,用于将各种数据类型转换为二进制的字节数组BitConverter.GetBytes() //将数据转换为字节数组,数组长度取决于数据类型有多少位BitConverter.ToInt32() //将字节数组转换为int类型,要转换为其他类型,记住 To+类型 或者 To+Int+位数 的方法名规律即可System.Text //Encoding所在的命名空间Encoding //编码格式类Encoding.UTF8.GetBytes() //将字符串按照UTF-8的编码格式转换为字节数组Encoding.UTF8.GetString() //将字节数组按照UTF-8的编码格式转换为字符串
不同变量类型
详细内容 ——> CS1L2——变量
有符号:sbyte int short long
无符号:byte uint ushort ulong ...
U4S1L15——通过Json数据加载配置文件
U4S1L15——通过Json数据加载配置文件
本章代码关键字
12InputActionAsset.FromJson() //将Json字符串转换为InputActionAssetplayerInput.actions.Enable() //激活PlayerInput使用的InputActionAsset
分析PlayerInput文件中的输入配置文件
在PlayerInput的定义文件内,我们可以发现actions参数使用的是InputActionAsset这个类型
12//PlayerInput类内的定义public InputActionAsset actions
进一步探索InputActionAsset的定义,我们可以发现一个读取Json字符串并解析返回InputActionAsset的静态方法
12345678910//InputActionAsset类内的定义public static InputActionAsset FromJson(string json){ if (string.IsNullOrEmpty( ...
U4S1L14——获取任意键输入的信息
U4S1L14——获取任意键输入的信息
本章代码关键字
12InputSystem.onAnyButtonPress.CallOnce() //输入一次传入到此方法传入的监听函数内InputSystem.onAnyButtonPress.Call() //每次输入都传入到此方法传入的监听函数内
回顾学过的获取任意键输入的方法
键盘任意键按下
不能获取到具体的键位
123456789101112public InputAction input;void Start(){ input.Enable(); input.performed += (context) => { print("任意键按下"); print(context.control.name); print(context.control.path); //以上两个语句并不能获取到具体的键位 };}
键盘任意键按下字符
只能获取到可以具体显示的字符,对于方 ...
U4S1L13——Input Debug
U4S1L13——Input Debug
Input Debug
InputDebug 顾名思义是 输入调试器 的意思
我们可以通过输入调试窗口检测输入相关信息,当我们的输入不按预期工作时,可以通过它来排查问题
打开Input Debug窗口
Window(窗口)->Analysis(分析)->Input Debugger(输入调试器)
PlayerInput组件->Open Input Debugger
窗口上的信息
未运行状态
Options 设置选项
Add Devices Not Listed in Supported Devices
添加未在支持的设备中列出的设备
如果在这里添加了设备,其他设备将不会出现在调试窗口内
你需要选择该选项以显示其他设备
Enable Event Diagnostics - 启用事件诊断
如果事件出现问题,就会以报错的形式打印到控制台
Simulate Touch Input From Mouse or pen
模拟鼠标或笔的触摸输入
Remote Devices ...