首页 > 其他分享 >只是一篇笔记

只是一篇笔记

时间:2023-01-09 13:44:51浏览次数:46  
标签:匹配 一篇 int 捕获 笔记 只是 str 字符串 string

笔记

// Awake用于在游戏开始之前初始化变量或游戏状态,不管SetActive多少次,它只会调用一次
    void Awake()
    {
        print("1");
        GetTextFromFIle(textFile);
        isReadingFin = true;
    }

C#字符数组


    char[] c = new char[] { 'a','b','c','d'};

TextAsset经Split后怎么会多个空?

设str是"abc "

string str1 = str.Substring(0, str.Length - 2);
print(str1);

abc

string str1 = str.Substring(0, str.Length - 1);
print(str1);

abc

这是因为

我们忘了调用

str.Trim(char);

str.Trim(char[]);

str.Trim();

它的功能

返回一个新字符串,它相当于从当前字符串中删除了一组指定字符的所有前导匹配项和尾随匹配项。

调用str.Trim()的话相当于是,删除str中所有前导空白字符和后导空白字符

C#找子串

string.IndexOf(string,int,int)

报告指定 Unicode 字符或字符串在此实例中的第一个匹配项的从零开始的索引。 如果未在此实例中找到该字符或字符串,则此方法返回 -1。

C#字符串转数字

Convert.ToInt32(string s)

这个方法的返回值是int类型,要用int类型的变量接收
如:
string strNum=Console.ReadLine();
int age=Convert.ToInt32(strNum);
或者:int age=Convert.ToInt32(“18”);
若输入的不是整形数字,则四舍五入
int age=Convert.ToInt32(“18.8”);//这里age=19

Unity yield break

Unity在协程里面的yield break相当于普通函数里面的return,即立即终止函数

void fun()
{
    return;
}
IEnumerator tet()
{
    yield break;
}

Unity 使用ScriptableObject实现存档读档

定义存档对象

[CreateAssetMenu(fineName = "FileName"),nemyName = "MenuName/FileName"]
public class myClass : ScriptableObject
{ 
    public string Name;
    public int data;
}

我们也可以在脚本中动态创建一个ScriptableObject:

ScriptableObject.CreateInstance<T> ();

创建存档路径

//路径是否存在
//不存在就创建
Directory.CreateDirector(Application.persistentDataPath+ "/game_SaveData");

把存档对象A写入本地文件B

  • 创建文件

    • FileStream 文件B= File.Create("文件B的Path");

  • json序列化(json可以是ScriptableObject可读写)

    • var json = JsonUtility.ToJson(对象A);

  • 二进制转化

    • BinaryFormatter fomatter = new BinaryFormatter();

      fomatter.Serialize(文件B,json);

注意:你直接fomatter.SErialize(文件B,对象A),不经过json话,是会报错 的.

从本地文件B读取数据写入存档对象A

  • 打开文件

    • FileStream 文件B = File.Open(文件B的路径,FileMode.Open);

  • 二进制转化

    • BinaryFormatter = bf =new xxx;

  • 反序列化

    • JsonUtlity.FromJsonOverwrite((string)bf.Deserialize(file),对象A)

  • 关闭

    • 文件B.close();

草,File.Exsits和Directory.Exists不一样,我居然用Directory去判断FIle

C# 正则

using System.Text.RegularExpressions;

Regex regex = new Regex(@"表达式");

其它常见C#正则表达式类:

Regex 类表示不可变(只读)的正则表达式。它还包含各种静态方法,允许在不显式创建其他类的实例的情况下使用其他正则表达式类。

Match 类表示正则表达式匹配操作的结果。Match 类的 Match.Success 匹配是否成功。Match.Index 返回第一个匹配的位置。

MatchCollection 类表示成功的【非重叠】匹配项的序列。MatchCollection 的实例是由 Regex.Matches 方法返回的。

GroupCollection 类表示被捕获的组的集合,并在单个匹配项中返回该捕获组的集合。GroupCollection 的实例在 Match.Groups 属性返回的集合中返回。

CaptureCollection 类表示捕获的子字符串的序列,并返回由单个捕获组所执行的捕获集。由于限定符,捕获组可以在单个匹配中捕获多个字符串。Captures 属性(CaptureCollection 类的对象)作为 Match 和 Group 类的成员提供,目的是便于对捕获的子字符串的集合进行访问。

Group 类表示来自单个捕获组的结果。因为 Group 可以在单个匹配中捕获零个、一个或更多的字符串(使用限定符),所以它包含 Capture 对象的集合。因为 Group 继承自 Capture,所以可以直接访问最后捕获的子字符串(Group 实例本身等价于 Captures 属性返回的集合的最后一项)。

Capture 类包含来自单个子表达式捕获的结果。

注意+,*,?的使用

一个悲伤的故事:

[^!]+忘了加+

@"^!(\w)+!(\w)+$"

@"^![^!]+![^!]+$"
实现匹配:
以!开头--非!的字符--中间有个!--非!的字符--结束
!cmd!ARGUMENTS

为什么使用-45°摄像机而不是3D正交场景

因为角色在y轴方向移动时,前者效果上是向前后移动;而后者是竖直方向上移动,要改的话,还得用z轴(坎公骑冠剑?)

UI 笔记

手机宽高比一般为16:9、18:9

Reference Resolution一般设为开发电脑的尺寸

横屏游戏,选择与高适配;竖屏游戏(或者4:3情况下),选择与宽适配

???实践之后发现并不一定啊

Unity预处理

//VS会在编写代码时就自动判断出将会执行哪个代码块,并把不会执行的置灰。(VS牛批!!!)

//当游戏处于编辑器阶段即还未发布时(可以在VS中改变调试的模式为Release)

#if DEBUG   
    Debug.Log("当前是编辑器模式");
#else    
    Debug.Log("当前不是编辑器模式"); 
#endif   

NND跟我玩阴滴是吧,居然置灰

Unity Sprite Renderer

Mask Interaction需要创建2D Object->Sprite Mask才能生效

渲染顺序

先按Sorting Layer 排布,新的排在旧的前面

再按Layer中的Order排布,Order越大越在前面

最后按在simple模式下,Unity 按照精灵相对于摄像机的距离(沿着摄像机视图的方向)的顺序渲染精灵,里摄像机越近越靠前

标签:匹配,一篇,int,捕获,笔记,只是,str,字符串,string
From: https://www.cnblogs.com/bkbbrokenboy/p/17036772.html

相关文章

  • 退火算法学习笔记
    初创建于2022-02-0900:29前段时间学习了一下退火算法。这里简单记一下踩过的坑~退火算法是一种搜索算法,我认为其核心思想便是”以一定的概率接受一个更差的解“,这样可......
  • fabric2.2学习笔记1
    fabric2.2学习笔记120201303张奕博2023年1月9日hyperledgerfabric结构分析每个Server作用:AdminServer:控制该节点的命运,可以删除该节点所在的进程。(StartStopGet......
  • CCSP学习笔记-NIST 800-145
    本文英文版来自美国国家标准与技术实验室的文档SpecialPublication800-145《TheNISTDefinitionofCloudComputing》September2011版本。一 云计算概念定义Clo......
  • Linux学习笔记:终端删除键失效解决办法
    一、删除键变空格近日在安装vi时遇到报错,遂卸载了部分包进行重新安装。安装后出现终端乱序,输错命令按Backspace删除键进行删除时不能删除反而添加空格,并且导致某些快......
  • wps 笔记
    table.Cell(arr[3].length/2+3+num00,1).Range.ParagraphFormat.Alignment=0 //文字居左对齐table.Range.Cells.VerticalAlignment=1;//文字垂直居中 ......
  • 读编程与类型系统笔记02_基本类型
    1. 空类型1.1. uninhabitabletype1.1.1. 声明从不返回的函数1.2. 不能有任何值的类型,其可取值的集合是一个空集合1.3. 函数不返回的原因1.3.1. 函数在所有代......
  • 英语语法个人笔记-乱写-哈哈
       "of"也是一个介词,它用来表示"permanentdefeat"是"flag"的一部分,即"permanentdefeat"这个标志就是"flag"。所以"theflagofpermanentdefeat"就是"永久失败的......
  • Python笔记——列表一:列表简介(Python编程:从入门到实践)
    一、列表是什么列表:由一系列按特定顺序排列的元素组成(列表是有序集合)。表示:用方括号[]来表示,并用逗号来分隔其中的元素。访问:访问列表元素,可指出列表的名称,再指出......
  • 数据结构与算法Python版之北大慕课笔记(一)
    数据结构与算法Python版之北大慕课笔记(一)一、“变位词”判断问题1.解法一:逐字检查2.解法二:排序比较3.解法三:计数比较二、线性结构linearstructure1.四个......
  • 卡尔曼滤波学习笔记
    教程卡尔曼滤波@B站.国科大张颢卡尔曼滤波器@Bilibili.DR_CAN卡尔曼滤波原理(Kalman&ExtendedKalmanFilter)@Bilibili.南科大ME424卡尔曼滤波@B站.徐亦达什么是卡......