Torque2D MIT 学习笔记(3) ---- 脚本语法(1)

From: https://github.com/GarageGames/Torque2D/wiki/TorqueScript-Syntax

基础

主要规则:

就像大多数编程语言一样,TorqueScript也有一些明确的语法需要遵守,该语言的容错性强,易于调试,不像C++这种低级语言一样要求严格.

编写并观察第一个脚本: 

 

// 创建一个局部变量
%testVariable = 3;


从上面的两行脚本共遵循了三种最简单的规则:

1: 分号结尾

2: 适当的使用空格(便于观看,良好的代码风格是必要的)

3: 注释( 再彪悍的代码也需要注释)

 

每两句代码之间需要有分号隔离,最好是分号+换行,不然Torque会作为一句脚本对待,并产生错误在调试控制台输出错误警告,比如:

 

%testVariable = 3
%anotherVariable = 4;



上面的写法,编译器会将其视为:

 

%testVariable = 3%anotherVariable = 4;


这显然不是我们希望的结果.哪种不使用分号分隔的多行代码是支持的,但是前提是多行代码是用来完成一个单一的目的.比如:

 

if( %testVariable == 4 )
   echo( "Equal!" );


先不去关心条件语句和输出命令,重点看第一行最后并没有分号结束,最简单的一种解释:代码告诉编译器"先阅读第一行代码,如果满足条件再读取第二行代码",

换一种说话,就是在分号之间是执行一整套相关的运算,当然复杂的运算需要许多行的代码一起工作,这种语法和C++一样.

 

第二种规则,适当使用空格来分隔操作符,这是一种风格,便于理解和记忆,比如:

 

%testVariable = 3;


 

这是一句普通的局部变量复制语句,操作符左右空格分开.TorqueScript编译器识别赋值操作符并按照我们期望的方式执行,但是他并不关心空格.就像下面这样:

 

%testVariable=3;


 

在分号和多行代码一起出现的情况下,空格规则可以带来很强的感官度.比如下面的代码:

 

if(%testVariable == 4) echo( "Equal!" );


 

注释

和C++一样,有两种注释格式:

 

// Comment

/*
Comment Line1
Comment Line2
*/


 

变量

用法

变量可以是一个字母,单词,组合短语,它与你游戏内存中的一个值相关联,并用来进行具体的操作.变量的定义通常只需要一行代码即可,如下:

 

%localVariable = 3;



你可以对变量指定任意类型的值,这种语言也叫做类型不敏感语言,TorqueScript不关心你设定给变量什么值,甚至于在你创建之后也不关心,比如:

 

%localVariable = 3;        // Int
%localVariable = "Health"; // String
%localVariable = "7 7 7";  // Vector3


 

上述代码的目的是来说明TorqueScript使用同样的方式来对待所有的数据类型,它会在引擎内部进行解析转换,所以我们不需要担心他们之间的类型转换.和Lua类似.

 

对于这种不敏感带来的数据类型上的混乱,需要通过变量命名的方式来明确当前变量的类型, 这是一种习惯,比如:

 

%yourAge = 38; // int
%yourName = "Kevin"; // string
%yourScores = "99 100 100"; // combin-array


 

TorqueScript是强容错性的,一个主要的体现就是大小写不敏感,比如下面的写法:

 

%yourName = "Kevin";
echo( %YourName );


 

%yourName 和 %YourName 在TorqueScript眼中是同一个变量!

变量类型

TorqueScript中提供了两种变量类型,局部变量(%)和全局变量($),如下:

 

%localVariable = 3;
$globalVariable = 4;


 

和其他语言一样,两者的差别就在于作用域的范围.

1: 局部变量: 存在于指定的代码段中,出了代码段则无效了.

2: 全局变量: 贯穿整个游戏生命周期,直到游戏关闭退出,全局变量可以在不同的脚本中访问.

 

数据类型

TorqueScript也提供了一些数据类型,比如数字,字符串,布尔,数组,向量, 如果你想测试这些数据类型,可以调用输出命令来查看,如下:

 

%yourName = "Kevin";
echo( %yourName );

$yourAge = 38;
echo( $yourAge );


 

PS: Torque控制台的呼出快捷键为"Ctrl+~",当然要在游戏运行期.

 


 


 

 

 




 



 

你可能感兴趣的:(Torque2D MIT 学习笔记(3) ---- 脚本语法(1))