基础篇4 类的表达和文件引用
什么是类 -> [相关文档](https://gitee.com/chutianshu1981/xyz-s-free-course-for-full-stack-web-dev/blob/main/GameDesign/Unity/%E5%
- 什么是类 -> 相关文档
- b站视频40 -41
- 如何使用
例子:
public class MainPlayer : MonoBehaviour{/*public string myname = "弼马温";public int HelthValue;public char grade = 'B';*/public Cat cat;//用自定义类Cat 来定义一个 cat// Start is called before the first frame updatevoid Start(){//创建对象,并初始化对象在空间中,并赋值cat = new Cat();cat.catname = "猪猪"; //cat.后面要带在类里定义的名 如,catname 和 agecat.age = 1;//打印猫信息cat.print(); //想要输出自己在类自定义的输出,直接在用类定义的 cat.后 写 print() and perr()cat.perr(); //print 和perr 都是在类里定义的功能。}}[Serializable] //这个英文的意思是“序列化”,可以使自定义类显示在unity上。public class Cat{public string catname;public int age;//打印public void print(){Debug.Log($"这只小猫名叫:{catname}, 它今年{age}岁了");}//猫叫public void perr(){Debug.Log($"小猫{catname}不停的在叫。。");}}
- 类的创建顺序
- 先用 修饰符 class 类名(可自定义)
- 定义变量
- 你想要使用的功能,如上所写的print 和 perr;
- 然后在Monobehaviour的组件里输出要想输出的对象
- 在主组件用自己创建的类定义变量 :public Cat cat;
- 在void star里对自己定义的 cat进行初始化 : cat = new Cat();
- cat.后加上自己想要定义的数值,以及想要输出的数值
- 关于构造函数
void Start(){List<Cat> cats = new List<Cat>();//通过循环调用Cat的构造函数,创造出100只猫for (int i=1; i<=100; i++){cats.Add(new Cat($"第{i}只猫",i));//每循环一次增加一只猫}foreach (Cat cat in cats) //我们上面创造了组合cats,利用遍历(foreach)来取出100只猫放到cat中 进行输出。{cat.print();cat.perr();}}void Update(){}}[Serializable]public class Cat{public string catname ;public int age ;public Cat(string name, int age) //构造方法{this.catname = name; //等号=前面的this.catname的catname指的是上方定义的catname,而后面的name是形参的namethis.age = age; //this的用法是限定被参数隐藏的实例人员}//打印public void print(){Debug.Log($"这只小猫名叫:{catname}, 它今年{age}岁了");}//猫叫public void perr(){Debug.Log($"小猫{catname}不停的在叫。。");}}
- 关于构建第二个文件进行引入并输出在unity
Dog文件构造,在Assert/MyScripts
using System;using UnityEngine;namespace MyScripts{[Serializable]public class Dog{public string name;public Dog(string name){this.name = name;}public void Wang(){Debug.Log($"狗狗{this.name}正在叫。。");}}}
引用dog文件的功能在unity上
using System;using System.Collections;using System.Collections.Generic;using System.Drawing.Design;using MyScripts;using Unity.VisualScripting;using UnityEngine;public class MainPlayer : MonoBehaviour{public Dog dog;void Start(){dog.Wang();}其关键在于引用文件,它会出现
using MyScripts;一般会出现在你定义public Dog dog;Dog下面会出现红色的线或者三个字母呈红色
然后在mac中的操作上 option+enter
windows的操作上 ctrl+enter
会快速帮你定位到Dog的位置且自动帮你打上 using MyScripts;