Yield语句
UnigineScript的应用范围仅限于实现与材质相关的逻辑(材质表达式,可编写脚本的材质,画笔材质)。 不要将UnigineScript用作应用程序逻辑的语言,请改用C#/C++,因为这些API是首选的。 无法保证UnigineScript中新引擎功能的可用性(超出其应用范围),因为当前的支持级别仅假设已解决关键问题。
使用yield关键字对函数的起始点进行更改以便将来调用。在执行时,yield语句的功能类似于return语句并且此语句甚至还能返回数值。而两种语句之间存在有不同之处,即在调用下一个函数期间会从yield运算符后面的指令处开始执行。
语法
// some_code_before;
yield value;
// some_code_after;
部分
- value 是计算得出的值,为可选选项(默认值为0)。
示例
int foo() {
begin:
// 首次调用从此处开始执行
log.message("one, ");
// 首次调用在此结束
yield;
// 第二次调用从此处开始执行
log.message("two, ");
// 第二次调用在此结束
yield;
// 第三次调用从此处开始执行
log.message("three, ");
// 第三次调用在此结束
yield;
// 第四次调用从此处开始执行
goto begin;
}
forloop(int i = 0; 10) foo();
// 结果为: one, two, three, one, two, …
最新更新:
2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)