使用脚本方法定义方法方法使用示例调用方法private修饰C#游戏开发快速入门大学霸

使用脚本方法定义方法方法使用示例调用方法private修饰C#游戏开发快速入门大学霸

C#游戏开发快速入门

4.3  使用脚本方法使用脚本方法定义方法方法使用示例调用方法private修饰C#游戏开发快速入门大学霸

通过本章前面的介绍,读者也许已经认识到了方法是有多重要,以至于前面两章介绍的游戏示例,都必须在方法的协助下,才实现了最终的效果。方法这么神奇,读者现在一定有兴趣来了解,那么本节就来逐步揭开方法的神秘面纱。

4.3.1  方法与变量使用脚本方法定义方法方法使用示例调用方法private修饰C#游戏开发快速入门大学霸

方法与变量有很多相似的地方。例如,变量与变量名不等价,方法与方法名同样如此。具体的说明如下:

q  方法也是一块儿特定的存储空间,只不过方法里存储的不是数据,而是代码语句;

q  方法名也需要遵守C#的命名规则,即名称必须由字母、数字和下划线组成,且数字不能作为名称的首字母,否则就是犯了语法错误;

q  为了区别方法名与变量名,读者可以考虑遵守这样一个约定,即变量名的首字母小写,方法名的首字母大写。既然说这是一个约定,读者当然可以不遵守,也不会犯语法错误;

q  就像是变量名一样,方法名也应该取的有意义些。例如,既然方法可以控制游戏对象的逻辑行为,那么就可以考虑给控制立方体移动的方法定一个类似于CubeWalking的方法名;

q  同样可以使用public和private修饰,只不过方法使用什么修饰,结果都不会体现在Inspector视图中,只是会反应在对方法的使用上。即使用public修饰的方法,可以被其它脚本使用,而使用private修饰,则正好相反。如果省略了对方法的修饰,Unity会认为方式是被private修饰的。

4.3.2  定义方法使用脚本方法定义方法方法使用示例调用方法private修饰C#游戏开发快速入门大学霸

就像是在使用变量前需要声明变量一样,使用方法前,需要定义方法。这就像是在告诉Unity:存在这样一个方法,此方法可以控制游戏对象做出特定的行为。方法的定义形式如下:

返回值类型  方法名()

{

//方法中的语句

}

q  方法名后的一对括号“( )”是必不可少的;

q  被大括号“{ }”括住的语句,就可以看作是存储于方法中的数据;

q  声明变量时,有些读者注意到,它的末尾是以分号“;”结尾的,但是对于方法的定义,大括号中的“}”就是结束标识,读者无需“画蛇添足”;

q  方法可以“返回特定类型的数据”;

例如,前面章节编写游戏时,用到的脚本中的一个方法如下:

void Update()

{

transform.Translate(new Vector3(xPosition,0,0),Space.World);

transform.Rotate(Vector3.up*yRotation,Space.World);

}

对于此方法,Unity会这样理解:

q  这个方法名为Update();

q  方法中一共有两条语句;

q  方法返回的数据类型是void。此类型表示方法不会返回任何值。因此,与其说void表示一种类型,还不如说它是一种标志,即不返回任何类型数据的标志;

q  省略了对方法的修饰,因此Unity会认为它是被private修饰的,因此其它脚本无法使用这个方法;

4.3.3  调用方法使用脚本方法定义方法方法使用示例调用方法private修饰C#游戏开发快速入门大学霸

方法定义好以后,就可以直接使用了。使用方法在脚本中有个专门术语,就是“调用方法”。在脚本中调用方法的方式很简单,直接使用方法名就可以了,但是千万不要忘了带上后面的一对括号“( )”。如下:

//方法的定义部分

…                                           //省略

//调用方法

AddTwoNumber();

4.3.4  方法使用示例使用脚本方法定义方法方法使用示例调用方法private修饰C#游戏开发快速入门大学霸

理论部分已经写了很多,读者应该对方法的概念有印象了才对。那现在就趁热打铁,以一个示例来说明方法的定义和调用。实现示例的操作步骤如下:

(1)在Project视图里,新建一个脚本文件,命名为MyScript,打开此脚本文件并添加下面的代码:

01     using UnityEngine;

02     using System.Collections;

03

04     public class MyScript : MonoBehaviour

05     {

06              private int number1 = 15;

07              private int number2 = 59;

08              void OnGUI()

09              {

10                       GUILayout.Label (“number1 = ” + number1);

11                       GUILayout.Label (“number2 = ” + number2);

12                       GUILayout.Label (“number1 + number2 = ” + AddTwoNumber ());   //使用方法

13              }

14              int AddTwoNumber()                                                      //定于方法

15              {

16                       return number1 + number2;

17              }

18     }

对于此脚本的06、07行代码,读者一定不陌生。这里的代码完成了变量的声明和初始化。变量是上一章重点介绍的内容,而本章主要关心14~17行方法的定义部分,以及12行方法的调用部分。

q  从方法的定义上来看,方法名为AddTwoNumber(),会返回int类型的数据,方法里只有一行语句,语句的含义是计算两个整数的和。

q  从方法的调用上来看,使用方法的方式很简单,直接书写AddTwoNumber()就可以了。

(2)将脚本MyScript添加到Main Camera对象上,除此以外游戏场景中不需要任何其它游戏对象。直接运行游戏,在游戏视图的左上角会出现3行文本信息,如图4-4所示。

图4-4  游戏视图左上角的文本信息

(3)这只是一个示例,是让读者熟悉方法定义和调用的示例。所以没有让方法控制游戏对象的行为逻辑,至于方法的游戏示例,会在本章后续内容讲解结束以后给出使用脚本方法定义方法方法使用示例调用方法private修饰C#游戏开发快速入门大学霸。

Comments are closed.