zoukankan      html  css  js  c++  java
  • 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+~",当然要在游戏运行期.


     


     




     



     

  • 相关阅读:
    scjp考试准备
    scjp考试准备
    scjp考试准备
    scjp考试准备
    maven学习手记
    maven学习手记
    ExtJS MVC 学习手记3
    调整maven配置文件
    ExtJS MVC学习手记 2
    ExtJS MVC学习手记 1
  • 原文地址:https://www.cnblogs.com/KevinYuen/p/2940358.html
Copyright © 2011-2022 走看看