项目结构
与其它电脑程序一样,Unigine script编写的程序为一系列的指令,这些指令告知电脑要做的内容。我们一起快速浏览一下UnigineScript程序的基本内容。
Statements and Expressions程序指令及表达式#
程序内最常见的指令类型是程序指令。UnigineScript内的程序指令是语言中的最小独立单元。之所以会写程序指令是想向编译器传达我们想要执行任务。UnigineScript内的指令以分号终结。
简单程序指令的最常见类型:
int x;
int x是一种 声明语句。此语句告知解译器x为 变量。在使用变量之前,应在程序中声明这些变量。
x = 5;
x = 5是一个 赋值语句。通过此语句将值(5)赋给变量(x)。
解译器可以解析表达式。表达式是一种评估值的数学实体。表达式可含有数值(例如2),变量 (例如x),运算符(例如+) 及函数。表达式可为单一表达式(例如 2或 x)或复杂表示式(例如2 + 3, 2 + x, x + y或(2 + x)*(y - 3))。
x = 2 + 3;
x = 2 + 3是一个有效赋值语句。表达式2+3 的计算结果为5。 结果值5接下来会被赋给 x。
Variables变量#
变量是电脑内存中的某个地名,在此处存储着一些数据。为了与其它变量进行区分,每个变量都需要标识符 (一系列字符用来对变量,类型,类,函数等进行命名。)在UnigineScript内,声明的变量都具有一种类型 (然而事实上这种语言使用动态类型)。
下方为声明一个变量的实例。
int x; // x - identifier, int - type
例如:
int foo() {
int i;
return i++;
}
log.message("%d\n",foo());
// the output is: 0,1,2,3...
如果要实现用函数对传递的值进行修改的功能,应制定一个参考变量:
void foo(int &v) {
if(v) log.message("%d\n",v);
v = 13;
}
int v = 0;
foo(v);
foo(v);
// the output is: 13
Comments注释#
UnigineScript支持单行注释和多行注释。在执行代码期间会忽略注释。
-
单行注释。以// 打头到每行的末尾为一个完整的注释:
// single-line comment int x; // one more comment
-
在/* 和*/之间的内容为多行注释:
/* multi-line comment: * comment line * one more line */ int foo() { return 0; }
Functions函数#
在UnigineScript中,典型的指令程序会被分为称作函数的单元。函数是许多按顺序执行的指令程序。阅读更多 关于函数的信息。
Libraries库#
库是函数组,这些函数被“打包起来”以供在不同的程序中被重新使用。事实上UnigineScript的核心语言很简短 -- 然而UnigineScript自带许多库,这些库为程序员提供大量额外的函数。要将库囊括在程序中,需使用预处理命令。