1
2
3
4
5
6
7

Unity脚本

发布时间:2017-01-03 15:52   发布人:焦卫峰   浏览次数:606

1.Unity工程(项目)

一个游戏由场景组成,一个游戏至少要有一个场景。一个场景包含若干个游戏对象,每个游戏对象包含若干个组件。

可以新建一个空物体,通过添加各种组件,就能实现某些功能。

project是一个工程(项目),包含scene在内的所有asset(资源,资产)。

scene是游戏的场景(一个关卡就是一个场景scene),用来承载游戏里面GameObject(包括Camera、Light等等)。

游戏物体(GameObject)可以理解为容纳各种组件(包括内置组件和自定义组件)的容器。每一个GameObject可以有多个Component(组件),每一种组件代表游戏对象有一种功能,游戏对象的所有组件一起决定了这个对象的行为和游戏中的表现。其中比较重要的有Transform,还可能有Script(脚本)。一个GameObject至少包含一个组件:Transform。

快捷键:

Shift Space

程序运行过程中

所做的任何修改都是无效的。

2.脚本的创建

3种方法:

1)Project视图/Create/C# script 或者Project视图/右键/Create/C# script

2)Assets菜单/Create/C# script

3)Hierarchy视图/选中某个GameObject/Inspector视图/Add Component/New Script

只有第三种方式脚本会自动绑定到GameObject上。

脚本文件需要手动保存。

3.Unity脚本编程

面向组件编程

 

脚本编辑器

不再内置MonoDevelop

Edit/Preferences(偏爱、偏好)/External tools/External Script Editor

 

脚本语言

新版本仅支持C#语言,不再支持Javascript、Boo语言

 

1)开发者编写的每一个脚本都被视为自定义的组件(Component),作为组件,脚本本身是无法脱离游戏对象独立运行的,必须添加到到scene中GameObject的Component中。

2)凡是需要添加到游戏对象上的c#脚本类都需要直接或者间接继承自 MonoBehaviour。

3)Unity通过脚本的文件名查找类,所以文件名和类名(从MonoBehavior中继承的行为类)必须一致(如果后来改了文件名,类名是不修改的,就会出错)。普通的C#类可以随意命名。

4)使用Start或者Awake函数来初始化,避免使用构造函数。原因:unity无法决定构造函数何时被调用。