每日知识点(9.11&&9.12)

一、Unity小知识点

    1、静态方法,静态字段属于该类,不属于该类的实例
    2、常用文件夹
        Scripts          脚本文件夹
        Prefabs          预设文件夹
        Materials        材质文件夹
        Scenes           场景文件夹
        Textures         贴图文件夹
        Models           模型文件夹
        Animations       动画文件夹
        Audio/Musics     音乐(音效)文件夹
        Resources        资源文件夹
        SkyBox          天空盒
        Editor          自定义文件夹
  3、MonoBehaviour类:是一个基类,所有 Unity 脚本都派生自该类
  作用:让脚本可以像组件一样挂在物体上。
  包含脚本生命周期:
Awake()函数是加载场景时运行,就是说在游戏开始之前初始化变量或游戏状态。
OnEnable():当对象变为可用或激活状态时被调用
Start()函数是在第一次启动时执行,用于游戏对象的初始化,在Awake()函数之后。
FixedUpdate()与Update()函数相似,但是每个固定物理时间间隔调用一次,用于物理状态的更新。
Update()是在运行时每一帧必执行的函数,用于更新游戏场景和状态。
LateUpdate()是在Update()函数执行后再次被执行。
OnGUI():渲染和处理OnGUI事件
OnDisable():当前对象不可用或非激活状态时被调用
OnDestroy():当前对象被销毁时调用


  4、  Collision事件
OnCollisionEnter函数:当碰撞体或者刚体与其他碰撞体或者刚体开始接触时调用
OnCollisionStay函数:当碰撞体或者刚体与其他碰撞体或者刚体保持接触时调用
OnCollisionExit函数:当碰撞体或者刚体与其他碰撞体或者刚体停止接触时调用


  5、  Trigger事件
OnTriggerEnter函数:当其他碰撞体进入触发器时调用
OnTriggerStay函数:当其他碰撞体停留触发器时调用
OnTriggerExit函数:当其他碰撞体离开触发器时调用


 6、查找方法:
通过对象名称(Find方法)GameObject.Find
通过标签获取单个游戏对象(FindWithTag方法)
通过标签获取多个游戏对象(FindGameObjectsWithTags方法)
    

7、销毁组件:Destroy(cube.GetComponent<Rigidbody>());


8、Transform类:
 transform.position:指定物体在世界坐标下的位置。
transform.Translate:指物体相对位移的单位。
transform.Rotate:指物体旋转。
transform.eulerAngles:指物体的角度。
transform.localScale:指物体的缩放,注意的是缩放各个轴不能为0,否则会消失


  9、  Time类:
Time.time:当前游戏已经运行的时间
Time.deltaTime:上一帧消耗的时间;
timeScale:时间流逝的缩放。可用于慢动作效果。


二、C# :存储相同类型元素的固定大小的顺序集合 


    1、   一维数组:
        string[] arrA = new string[3];//声明一个长度为3的字符串数组
        int[] arrB = new int[5];//声明一个长度为5的整型数组

        int[] arrA1 = { 1, 2, 3 };//第一种赋值方法
        int[] arrA2 = new int[5] { 1, 2, 3, 4, 5 };//第二种赋值方法
        int[] arrA3 = new int[] { 1, 2, 3, 4, 5 };//第三种赋值方法
        //常用赋值
        int[] arrAx = new int[3];
        arrAx[0] = 10;
            arrAx[1] = 20;
            arrAx[2] = 30;
            //foreach只能用来遍历数组中的数值,不用来赋值
            foreach (var item in arrAx)
            {
                Console.WriteLine(item);
            }
            for (int i = 0; i<arrAx.Length; i++)
            {
                Console.WriteLine(arrAx[i]);
            }
2、 二维数组:
 //定义
int[,] arr1 = new int[5, 5];
//赋值
arr1[0, 0] = 0;
arr1[0, 1] = 1;
int i = 1;
for (int iX = 0; iX < 5; iX++)
{
    for (int iY = 0; iY < 5; iY++)
    {
        arr1[iX, iY] = i++;
    }
}
//遍历
for (int iX = 0; iX < 5; iX++)
{
    for(int iY = 0; iY < 5; iY++)
    {
        Console.WriteLine("arr1[{0},{1}]={2}",iX,iY , arr1[iX, iY]);
    }
}
3、 多维数组


  4、      值类型  :存储在栈中,可以直接分配给一个值, 值类型的变量不能为null,必须有一个确定的值
int a = 10;
int b = a;
Console.WriteLine("b=" + a);
a = 20;
Console.WriteLine("b=" + b);


5、 引用类型  :存储在堆中 存的是引用
 如:字符串:string,      基类:object    dynmic     类:class   接口:Interface     数组:Int[] ,String[] ,引用类型赋值前都是null
Man m1 = new Man();
m1.name = "张三";
Man m2 = m1;
Console.WriteLine("m2.name=" + m2.name);
m1.name = "李四";
Console.WriteLine("m2.name=" + m2.name);


6、 枚举类型
         int xinQi = 1;//1234567
                     //主角状态
        ZhuangTai zhuJue = ZhuangTai.正常;
        Console.WriteLine("zhuJue=" + zhuJue);
         ZhuangTai diRen = new ZhuangTai();
        Console.WriteLine("diRen=" + diRen);
              //new:1 实例化对象  2 初始化对象
        int[] a = new int[10];
         a[0] = 10;
         a[1] = 20;
         a = new int[10];
         Console.WriteLine("a[0]=" + a[0]);
7、构造函数:对实例化出来的对象进行初始化
①构造方法要用public修饰,不能用
private修饰;
②构造方法没有返回值,且连void也不能写;
③构造方法的方法名字必须跟类名一样;
④构造方法是可以有重载的。


8、析构函数:常用清理一个对象
①析构方法不能有任何参数;
②析构方法无返回值也无访问修饰符;
③析构方法由系统自动调用;
④析构方法可以不写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值