UnigineEditor
界面概述
资产工作流程
设置和首选项
项目开发
调整节点参数
Setting Up Materials
Setting Up Properties
照明
Landscape Tool
Sandworm (Experimental)
使用编辑器工具执行特定任务
Extending Editor Functionality
编程
基本原理
搭建开发环境
Usage Examples
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes

If-Else语句

警告
UnigineScript的应用范围仅限于实现与材料相关的逻辑(材料表达式,可编写脚本的材料,画笔材料)。 不要将UnigineScript用作应用程序逻辑的语言,请改用C#/C++,因为这些API是首选的。 无法保证UnigineScipt中新引擎功能的可用性(超出其应用范围),因为当前的支持级别仅假设已解决关键问题。

如果某种条件为,就执行if 部分的代码。 如果条件为, 就执行else部分的代码。

语法

源代码 (UnigineScript)
if(expression) { 
	// code_if_true
} else { 
	// code_if_false 
}

部分

  • expression为条件。

示例

源代码 (UnigineScript)
int a = 2;
int b = 5;

if(a > b) {
	log.message("true\n");
} else {
	log.message("false\n");
}

// 输出:假

可分别使用ifelse

源代码 (UnigineScript)
int a=2;
if(a == 2) log.message("a is equal to 2\n");

// 结果为: a is equal to 2

注意
请注意如果条件处为一个复杂的布尔型表达式,会按照从左到右的方式对表达式进行求值(短路求值):
源代码 (UnigineScript)
int func(int a) {
	return a;
}

// 仅调用一次(第一次)func()
if(func(0) && func(1)) log.message("true\n");
// 两次调用func()
if(func(1) && func(1)) log.message("true\n");
// 仅调用一次(第一次)func()
if(func(1) || func(1)) log.message("true\n");
// 两次调用func()
if(func(0) || func(1)) log.message("true\n");
最新更新: 2017-07-03