高级 | Advanced

使用这些拼图可以在应用中实现高级功能,如网络、与JavaScript代码的交互、数据转换、状态保存/恢复等。

内容

拼图参考

exec script(可执行脚本)

此拼图执行指定的javascript代码。它使用 Ace编辑器 来显示和编辑内容。请查看相关的键盘快捷键简介:默认键盘快捷键

您可以使用以下内置变量。

关于 "Init" 和其他标签,使用内置插件的具体细节

call external function(调用外部函数)

执行一个在应用的JavaScript代码中指定的函数。可以选择传递参数,作为函数参数使用。

为了在JavaScript代码中添加一个函数,用任何文本编辑器打开应用 .js 文件(例如, my_awesome_app.js 位于 verge3d/applications/my_awesome_app)。搜索 "prepareExternalInterface" 并在该声明中添加您的函数(在大括号之间),这样它看起来像这样。

function prepareExternalInterface(app) { app.ExternalInterface.myJSFunction = function(numericArg, textArg) { alert('Got some params from Puzzles: ' + numericArg + ' and ' + textArg); } }

load data(载入数据)

试图从一个指定的位置加载数据。不管尝试是否成功,"once ready do" 槽中的拼图都会被解释。检索到的数据可以通过 加载数据 拼图进行访问。

send data(发送数据)

试图使用异步的 POST HTTP 请求将指定的数据发送到一个远程位置。不管尝试是否成功,"once ready do" 槽中的拼图都会被解释。如果有任何响应数据,可以通过 loaded data 拼图访问。

loaded data(已加载的数据)

返回由 加载数据发送数据 拼图获取的数据。

read JSON(读取JSON)

将文本(或 数据URI)解释为 JavaScript Object Notation 数据,并以字典形式返回。

read CSV(读取JSON)

将文本(或 数据URI)解释为 逗号分隔的值。返回一个表格行的列表,每行表示为一个值的列表。分隔符可以通过下拉选择,以对应CSV文件的导出设置。"From row" 值表示从顶部开始跳过多少行。

表的行和值是通过它们的数字索引从0开始访问的。

save state(保存状态)

保存指定对象的状态和/或由其名称指定的变量值。对象被克隆并存储在内存中。变量的值被检索并存储在内存中,每个指定的变量名称都是如此。

如果此拼图被多次调用,那么这些状态将被依次保存,这样就可以通过 undo state(撤销状态) 拼图返回到之前的任一状态。

undo state(撤销状态)

恢复用 save state(保存状态) 拼图保存的对象和/或变量的状态。

如果这个拼图被多次调用,状态会从保存的序列中恢复(如果有的话),这使得我们可以从堆栈中返回到任何先前保存的状态。

all variable names(所有变量名称)

返回一个包含拼图中使用的所有变量名称的列表。

variable value by name(对应名称的变量的值)

返回指定名称的变量的值。此拼图的工作方式与标准的变量值拼图类似,但不需要从预定义的下拉菜单中选择一个变量。

JavaScript object(JavaScript对象)

返回一个给定的JavaScript对象。

使用此拼图可获得以下JavaScript对象。

window(窗口)
返回顶层的window对象作为字典值。
arguments(参数)
返回当前执行的函数的参数列表。可以用来获取拼图过程的参数或者传递给拼图内部回调的额外参数(见下文)。
this
JavaScript中的this值。

arguments选项可以用来获取额外的拼图选项。例如,当使用 when click(当点击...时) 拼图时,您可以使用在do插槽后面被执行的回调的第一个参数来获得触发拼图逻辑的内部JavaScript事件。在下面的例子中,我们使用这一事件来获取鼠标指针的X和Y坐标。

以下拼图支持高级选项。

wait promise(等待promise)

等待promise被解决或拒绝,并在 promise value 拼图中返回其值(或拒绝原因)。

这个拼图可被用于获取 导出到gltfgenerate normal map(生成法线贴图) 的值。作为一个异步拼图,这些拼图不会立即返回解决的值。相反,它们会返回 promise 值,这些值在它们被用作输入的拼图中被解决。然而,在少数情况下,这种解决并没有发生。在这些情况下,您应该使用 wait promise 来解析promise值。

promise值

已解决的promise值(在已解决promise的情况下)或错误字符串(在拒绝promise的情况下)。

connector(连接器)

这个拼图可建立拼图之间的连接,以便于移动、删除和在其他拼图中使用拼图组。典型应用是将 load sound(加载声音)load video(加载视频) 的拼图连接成一个组,用以组织应用中预加载媒体资源。

在使用拼图时遇到困难?

欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。