Unity 3D虚拟现实游戏开发
上QQ阅读APP看书,第一时间看更新

3.1 JavaScript脚本基础

Unity 3D中的JavaScript也称UnityScript,和基于浏览器的JavaScript有比较大的区别,JavaScript是一种由Netscape公司的LiveScript发展而来的原型化继承的面向对象类语言,并且是一种区分大小写的客户端脚本语言。

3.1.1 变量

JavaScript有4种变量:

(1)数值变量。数值是最基本的数据类型。例如:

      var a=1000;
      var b=3.1415926;

(2)字符串变量。是由单引号或者双引号括起来的Unicode字符序列。

(3)布尔值。只有两个值:true和false,用来表示某个事物为真还是为假。

(4)数组。是数据的集合,数组中的每一个数据元素都有一个编号(下标),数组的下标是从0开始的。

3.1.2 表达式和运算符

表达式是关键字、变量、常量和运算符的组合,可以用于执行运算、处理字符或测试数据。JavaScript的解释引擎可以计算表达式,并返回一个结果值。JavaScript的运算符分为以下6类。

(1)算术运算符。指的是数学中最基本的加减乘除等运算。算术运算符需要两个操作数,因此也称二元运算符。假设有操作数a、b,它们的算术运算符如表3.1所示。

表3.1 算术运算符

(2)相等运算符。用来比较两个值,根据比较结果返回一个布尔值,广义的相等运算符包含以下4种:

  • 相等运算符(==)。
  • 等同运算符(===)。
  • 不等运算符(!=)。
  • 不等同运算符(!===)。

(3)关系运算符。用来测试两个值之间的关系,如果指定关系成立,则返回true,否则返回false。常见关系运算符如表3.2所示。

表3.2 关系运算符

(4)赋值运算符。可以将运算符右边操作数的值赋给左边的操作数,它要求左边的操作数为变量、数组的元素或者对象的属性,而右边的操作数可以为任意类型的值。

变量=操作数

该简单赋值表达式的结果是把操作数赋值给变量。

例如,去书店买书,针对一本书的书名,可以定义变量bookName,如果这本书叫《Unity游戏开发》,此时变量bookName指的就是“Unity游戏开发”,具体代码如下:

     string bookName;
     bookName="Unity游戏开发";

(5)逻辑运算符。通常用来针对布尔值的操作,主要包含以下3种:

  • 逻辑与(&&)运算符。
  • 逻辑或(||)运算符。
  • 逻辑非(!)运算符。

(6)其他运算符。除了上面介绍的运算符外,JavaScript还有一些其他的运算符,如按位运算符、条件运算符、typeof运算符、new运算符、delete运算符、void运算符等。

3.1.3 语句

JavaScript程序是由若干语句组成的,语句是编写程序的指令。JavaScript提供了完整的基本编程语句,它们是赋值语句、switch选择语句、while循环语句、for循环语句、do…while循环语句、break循环体结束语句、continue本次循环结束语句、if语句(if…else,if…else if…)等。这些语句可以分为以下几大类:

(1)变量声明及赋值语句:var。

语法如下:

     var变量名称[=初始值]

例如:

     var computer=32     //定义computer为一个变量, 且初值为32

(2)函数定义语句:function,return。

语法如下:

      function函数名称(函数所带的参数)
      { 函数执行部分 }

(3)条件和分支语句:if…else,switch。

条件语句if…else完成程序流程块中分支功能:如果其中的条件成立,则程序执行紧接着条件的语句或语句块;否则程序执行else中的语句或语句块。其流程图如图3.1所示。

图3.1 条件语句

语法如下:

     if(条件)
         { 执行语句1 }
     else{ 执行语句2 }

分支语句switch可以根据一个变量的不同取值采取不同的处理方法。如果表达式取的值同程序中提供的任何一条语句都不匹配,将执行default中的语句,如图3.2所示。

图3.2 分支语句

语法如下:

(4)循环语句:for,for…in,while,break,continue。

for语句的语法如下:

     for(初始化部分;条件部分;更新部分)
         { 执行部分 }

只要循环的条件成立,循环体就被反复执行。

while语句所控制的循环不断地测试条件,如果条件始终成立,则一直循环,直到条件不再成立。

语法如下:

     while(条件)
         { 执行语句 }

break语句结束循环,并执行循环体的下一条语句。

continue语句结束本次循环,并马上开始下一次循环。

(5)注释语句://,/*…*/。

     //这是单行注释
     /*这可以是多行注释*/

3.1.4 函数

函数(function)是一个可执行的程序段。函数被定义后,可以多次被程序调用。函数是命名的程序段,这个程序段可以被当作一个整体引用和执行。使用函数时要注意以下几点:

(1)函数由关键字function定义(也可由Function构造函数构造)。

(2)使用function关键字定义的函数在一个作用域内是可以在任意处调用的。

(3)函数名是调用函数时引用的名称,它是大小写敏感的,调用函数时要注意这一点。

(4)return语句用于返回表达式的值。