`C#基础
使用编辑器VisualStudio2022
·注释
单行注释:
//单行注释
多行注释:
/*
多行注释
*/
文本注释:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _202309061112注释
{
internal class Program
{
static void Main(string[] args)
{
///文本注释
A.A1();
}
}
/// <summary>
/// A是一个类
/// </summary>
class A
{
/// <summary>
/// A1是一个方法
/// </summary>
public static void A1()
{
}
}
}
分块预处理#region(注:不属于注释):
#region 是一个分块预处理命令(不属于注释)
// 它主要是用于编辑器代码的分块,在编译时会被自动删除并
#endregion
·标识符
1.不能与关键字重名
2.不能以数字开头
3.@只能放在开头
4.不能有 . 字符
·Main方法
1.语句
定义:描述一个类型或告诉程序去执行某个动作的一条源代码指令。
注意:以分号结束
一行未必是一条语句
2.块
定义:块是一个由大括号包围起来的0条或多条语句序列,他在语法上相当于一条语句。
注意:某些特定的程序结构只能用块
语句可以以分号结束,块后面不跟分号
·框架
一个解决方案->一个或多个项目(需要运行的项目在该项目名称右击设置启动项)
·数据类型
1.数值类型
1.1整型
int,别称System.Int32
1.2浮点型
float 单精度
double 双精度
2.非数值类型
2.1字符类型
char:表示一个字符、字母、数字、@#%&()、一个汉字
为变量,实际在内存中存储的是数字
2.2字符串类型
string:string是一个char的数组,(暂时)为字符串的集合
2.3布尔类型
bool,别称System.Boolean
ture
flase
3.字面值+后缀值类型
1.5表示double类
1.5f或者1.5F表示float类
·变量和常量
1.变量
局部变量:作用域在方法中,方法执行的时候才创建
全局变量:作用域在类中——类的里面,方法的外面
2.常量
格式:const+常量类型+常量名字=value
注意:使用const关键字定义时候必须赋值
声明时候可以不赋值,一旦赋值不能更改
值为固定值,程序执行期间不会改变
`UnityAPI
·编辑器模板修改
路径:D:\unity hub_save\2018.4.8c3\Editor\Data\Resources\ScriptTemplates(参照)
·编辑器修改
菜单栏>Editor>Preferences>External Tools>External Script Editor
·脚本历史
Unity2017之前版本:1.C#
2.Javascript
3.Boo
Unity2017版本以及之后版本:C#
·设置编辑器
Unity2017之前版本:MonoDevelop
Unity2017版本以及之后版本:VisualStudio
·MonoBehaviour类
使脚本可以像组件一样挂在物体上
若脚本无法挂在物体上:1.检查脚本名字和类名是否相同
2.是否继承MonoBehaviour类
·Debug类
Debug.Log(”控制台输出信息“)
Debug.LogWarning(”控制台输出警告信息“)
Debug.LogError(”控制台输出错误信息“)
print("print输出");//控制台输出
·Transform类
1.作用
负责游戏对象的对换
维持父子关系
在Hierarchy面板可以看到,每一个Transform可以有一个父级,允许分层次管理位、旋转和缩放
2.父子关系
子对象会随父对象移动、旋转和缩放
设置方法,将子物体拖进父物体里面
设置父级:p2.parent = p1;
p2.SetParent(p1);
3.GetChild
按索引返回变换子项的transform
4.GameObject
·Time类
常用
Time.time 该帧开始的时间(只读)。此为自游戏启动以来的时间(以秒为单位)。
Time.deltaTime; 完成上一帧所用的时间(以秒为单位)(只读)。
Time.TimeScale 该帧开始的时间(只读)。此为自游戏启动以来的时间(以秒为单位)。
计时器
·位置
Position:在世界坐标系中,transform的位置子物体世界坐标系位置=子物体中位置+父物体位置
localPosition:相对于父物体变换的位置检视图中默认显示的数值