Unity脚本:

1.1继承MonoBehaviour类

Unity中所有挂在到游戏对象上的脚本中的类必须继承MonoBehaviour类(直接或者间接)。MonoBehaviour类中定义了各种回调方法。

Public class NewMonoBehaviourScript :MonoBehaviour{...}

 

1.2类名字必须匹配文件名

C#脚本中类名需要手动编写,而且类名还必须和文件名相同,否则当脚本挂载到游戏对象时,在控制台会报错。

 

1.3Unity调试

在Unity中,可以使用print()和Debug.Log()打印调试信息。但print()只能在Mono类中使用,所有一般情况下最好使用Debug.Log(),它和print()效果一样,但它可以在各处使用。

同时也可以使用Debug.Log.Warning()和Debug.LogError()收集警告和错误信息。

Debug.Break()设置断点。如果想查看特定情况发生时对象属性的变化时,用断点可以快速地完成。

 

2.脚本生命周期

创建UnityC#脚本时,脚本中会自动创建两个函数,Start()与Update(),这就是Unity的生命周期函数。

生命周期函数执行顺序:Awake()——>OnEnable()——>Start()——>FixedUpdate()——>Update()——>LateUpdate()——>OnGUI()——>OnDisable()——>OnDestroy()

 

3.几何属性类

Unity中的几何属性类Transform主要是用来描述每一个游戏对象的几何属性的,包括:位置、旋转和缩放比例等。

 

4.对游戏对象的操作

4.1通过名字或标签获取游戏对象

Unity 脚本中可以使用FindWithTag方法和Find方法来获取游戏对象。

FindWithTag方法:获取指定标签的游戏对象。

GameObject tag=GameObject.FindWithTag(“sometag”);

Find方法:获取指定名字的游戏对象。

GameObject name=GameObject.Find("somename");

 

4.2.通过组件名称获取游戏对象

FindObjectOfType()方法:获取挂载指定类型组件的第一个游戏对象。

Test test=FindObjectOfType<Test>();

FindObjectsOfType()方法:获取所有挂载指定类型组件的游戏对象。

Test[] tests=FindObjectsOfType<Test>();

 

5.销毁游戏对象

Unity脚本中可以通过Destroy()方法销毁游戏对象。

Destroy(this);//销毁脚本实例对象,但不销毁游戏对象

Destroy(this.gameObject);//销毁挂载该脚本的游戏对象

Destroy(this.gameObject,2f);//延迟销毁挂载该脚本的游戏对象

DestroyImmediate(this.gameObject);//立即销毁

DontDestroyOnLoad(this.gameObject);//跳转界面不销毁

 

6.Vector向量类

Vector2类:表示二维向量。

Vector3类:表示三维向量。

二维与三维表达方式一致,以三维为例:

第一种方式:

Vector3 position1=new Vector3();

position1.x=1;

position1.y=2;

position1.z=2;

第二种方式:

Vector3 posotion2=new Vector3(1,2,2);

 

7.动态创建游戏对象

在游戏开发过程中,需要动态的创建一些游戏对象,或者是克隆一些游戏对象。

动态创建游戏对象能够节省大量的游戏内存,降低Draw Call.

Unity提供了Instantiate()方法用于游戏对象的创建

Instantiate(预设体,位置,旋转角度)

posted on 2019-09-20 22:50  tryirdie  阅读(789)  评论(0编辑  收藏  举报