脚本参考

您可以在这里找到在 Kanzi 应用程序中使用 JavaScript 脚本的参考。将执行脚本 (Execute Script) 动作添加到节点中的任何触发器后,您就可以使用脚本。请参阅使用脚本触发器

Kanzi 使用 Google 的 V8 JavaScript 引擎。

JavaScript 脚本功能仅可用于 Windows。如果想在您的目标平台上使用 JavaScript 脚本功能,请联系 Rightware 销售部,联系方式如下: sales@rightware.com

脚本编辑器 (Script Editor)

Kanzi Studio 工程中,脚本存储在 素材库 (Library) > 资源文件 (Resource Files) > 脚本 (Scripts) 中,在硬盘驱动器上,存储在 <ProjectName>/Scripts 目录中。您可以在 Kanzi Studio 脚本编辑器 (Script Editor) 中或任何其他文本编辑器中编写和编辑脚本。

动作 描述 (Description) 快捷键
保存 (Save) 保存当前打开的脚本。 Ctrl S
注释选定内容 向当前选定的代码行添加注释。 Ctrl K Ctrl C
取消注释选定内容 取消注释当前选定且带注释的代码行。 Ctrl K Ctrl U

函数

您可以在脚本中使用以下函数和方法。

常规 (General) 布局变换 渲染变换
  标准 JavaScript API
instantiateNode
instantiatePrefab
lookupNode
print
属性 (Properties)
  setProperty
getProperty
removeLocalValue
颜色属性
子节点
  addChild
getChild
getChildCount
removeAllChildren
removeChild
父节点
  getParent
  addItem
getItem
getItemCount
removeAllItems
removeItem
焦点
  getFocusedNode
trySetFocus
tryMoveActiveFocusForward
tryMoveActiveFocusBackward
tryMoveActiveFocusUpward
tryMoveActiveFocusDownward
tryMoveActiveFocusLeft
tryMoveActiveFocusRight
页面 (Page) 和主页面 (Page Host) 节点
  navigateToThisPage
navigateToNextPage
navigateToPreviousPage
navigateToParentPage
状态机
  goToState
goToNextDefinedState
goToPreviousDefinedState
  rotateLayout
rotateXLayout
rotateYLayout
rotateZLayout
setLayoutRotation
getLayoutRotation
extractLayoutTransformEulerX
extractLayoutTransformEulerY
extractLayoutTransformEulerZ
scaleLayout
setLayoutScale
getLayoutScale
translateLayout
setLayoutTranslation
getLayoutTranslation
  rotateRender
rotateXRender
rotateYRender
rotateZRender
setRenderRotation
getRenderRotation
extractRenderTransformEulerX
extractRenderTransformEulerY
extractRenderTransformEulerZ
scaleRender
setRenderScale
getRenderScale
translateRender
setRenderTranslation
getRenderTranslation
setRenderTransformationOrigin
getRenderTransformationOrigin

常规 (General)

标准 JavaScript API

Kanzi 应用程序中,您可以使用标准 JavaScript API。例如,您可以使用:

instantiateNode

创建一个节点。

语法 instantiateNode('type.node', 'name')
参数
type 节点的类型名称。所有 Kanzi 节点的类型名称均为 kanzi。
node 节点名称
name 实例化节点的名称
示例
//查找使用别名 Scene 的场景 (Scene) 节点。
var scene = node.lookupNode('#Scene');
//创建一个3D 流式布局 (Flow Layout 3D) 节点。
var flowLayout = instantiateNode('Kanzi.FlowLayout3D', 'NewFlowLayout');
//向场景 (Scene) 节点添加3D 流式布局 (Flow Layout 3D) 节点。
scene.addChild(flowLayout);

instantiatePrefab

实例化预设件。

语法 instantiatePrefab('prefab', 'name')
参数
prefab 您要实例化的预设件的 kzb URL
要获取预设件的 kzb URL,在预设件 (Prefabs) 中右键点击预设件并选择复制 .kzb URL (Copy .kzb URL)
name 实例化预设件的根的名称
示例
//实例化预设件 PrefabName 为触发执行脚本 (Execute Script) 动作的节点的子节点。
//节点是一个全局变量,并解析到节点。
var prefab = instantiatePrefab('kzb://<project_name>/Prefabs/PrefabName', 'NewItem');
node.addChild(prefab);

lookupNode

在场景图中查找并返回节点。

语法 lookupNode('node')
参数
node 指向执行此脚本所在节点的别名或相对路径。
返回 节点。如果 lookupNode 找不到节点,则会返回 null 值。
示例
//查找别名 Item 指向的节点。
var item = node.lookupNode('#Item');
//查找节点 Text Block 3D,该节点相对于
//您调用该方法的节点。
var textBlock3D = node.lookupNode('Text Block 3D');
//打印当前节点的名称 (Name) 属性的值。
//节点是一个全局变量,并解析到节点。
print(node.Name);

print

打印到日志 (Log) 窗口。

语法 print('content')
参数
content 打印到日志 (Log) 窗口的内容
示例
//打印 Hello world! 到日志 (Log) 窗口
print('Hello world!')
//查找名为 Grid List Box 3D 的 3D 网格列表框 (Grid List Box 3D) 节点。
var gridListBox = node.lookupNode('Grid List Box 3D');
//将 3D 网格列表框中的项数打印到日志 (Log) 窗口。
print(gridListBox.getItemCount());

属性 (Properties)

setProperty

设置属性的值。如果该节点不具备您设置的属性,Kanzi 会添加该属性。使用 setProperty 设置材质和随附属性,例如布局属性。调用该节点之后,您可以使用 Kanzi Engine 属性名称设置所有其他属性。

建议

Kanzi Studio 中将鼠标指针悬停在属性名称上时,可以看到 Kanzi Engine 属性名称。

请参阅 getPropertyremoveLocalValue颜色属性

语法 setProperty('property', 'value')
参数
property 要设置的属性的 Kanzi Engine 名称
value 要设置属性的值
示例
//查找名为 Plane 的网格并将其纹理 (Texture) 属性设为
//位于 纹理 (Textures)/Texture01 中的纹理。
var plane = node.lookupNode('Plane');
plane.setProperty('Texture', 'kzb://<project_name>/Textures/Texture01');
//查找该 TextBlock 别名指向的节点,
//并将该节点中 文本 (Text) 属性的值设为“菜单 (Menu)”。
var textBlock = node.lookupNode('#TextBlock');
textBlock.Text = 'Menu';
//将节点的 名称 (Name) 属性设为 NewName。
textBlock.Name = 'NewName';

getProperty

返回属性的值。可以在调用节点后,使用 Kanzi Engine 属性名获取属性。

建议

Kanzi Studio 中将鼠标指针悬停在属性名称上时,可以看到 Kanzi Engine 属性名称。

请参阅 setPropertyremoveLocalValue颜色属性

语法 getProperty('property')
参数
property 要获取其值的属性的 Kanzi Engine 名称
返回 属性的值
示例
//查找 TextBlock 别名指向的节点,
//获取该节点中 文本 (Text) 属性的值
//并将其打印到 日志 (Log) 窗口。
var textBlock = node.lookupNode('#TextBlock');
var text = textBlock.getProperty('TextBlockConcept.Text');
print(text);
//查找使用此执行此脚本所在节点的相对路径的
//Image1 和 Image2 节点。
var image1 = node.lookupNode('../Image1');
var image2 = node.lookupNode('../Image2');
//将 Image1 节点中 布局宽度 (Layout Width) 属性的值设置为
//Image2 节点中的 布局高度 (Layout Height) 属性。
image2.Height = image1.Width;
//查找使用此执行此脚本所在节点相对位置的 
//RootPage 节点。
var rootPage = node.lookupNode('../../RootPage');
//如果 RootPage 节点中的 默认子页 (Default Subpage) 属性已设置,
//则打印指向该节点的相对路径到 日志 (Log) 窗口。
if (rootPage.DefaultSubPage)
{
    print(rootPage.DefaultSubPage);
}
else
{
    print("The Default Subpage property is not set!");
}

removeLocalValue

删除节点中的某个属性。

建议

Kanzi Studio 中将鼠标指针悬停在属性名称上时,可以看到 Kanzi Engine 属性名称。

请参阅 setPropertygetProperty颜色属性

语法 removeLocalValue('property')
参数
property 您要删除的属性的 Kanzi Engine 名称
示例
//查找 TextBlock 别名指向的节点
//并从该节点中移除 文本 (Text) 属性。
var textBlock = node.lookupNode('#TextBlock');
var text = textBlock.removeLocalValue('TextBlockConcept.Text');

颜色属性

使用数组设置颜色属性的值。

请参阅 getPropertysetPropertyremoveLocalValue

语法 [r, g, b, a]
参数
r

0...1 范围:红色通道值

g

0...1 范围:绿色通道值

b

0...1 范围:蓝色通道值

a

0...1 范围:阿尔法通道值

示例
//查找 Point Light 别名指向的节点
//并将该节点的点光源颜色 (Point Light Color) 属性设置为绿色。
var light = node.lookupNode('#Point Light');
light.setProperty('PointLightColor.Color', [0, 1, 0, 0]);
//仅当节点的前景笔刷 (Foreground Brush)背景笔刷 (Background Brush) 属性
//设置为颜色笔刷 (Color Brush) 时,
//您可以设置颜色笔刷 (Color Brush) 属性的颜色。
//找到 Button 别名指向的节点,
//重写颜色笔刷 (Color Brush) 中设置的前景笔刷 (Foreground Brush)背景笔刷 (Background Brush) 属性的颜色,
//并将该节点颜色笔刷 (Color Brush) 属性的颜色设置为红色不透明。
var button = node.lookupNode('#Button');
button.setProperty('ColorBrush.Color', [1, 0, 0, 1]);

子节点

所有节点可以拥有子节点,拥有项的列表框节点(3D 轨迹列表框 (Trajectory List Box 3D)3D 网格列表框 (Grid List Box 3D)2D 网格列表框 (Grid List Box 2D))除外。请参阅

addChild

向某个节点添加子节点。

语法 addChild(node)
参数
node 要添加的节点
示例
//实例化名为 Sphere 的预设件,并将其命名为 NewSphere。
var sphere = instantiatePrefab('kzb://<project_name>/Prefabs/Sphere', 'NewSphere');
//查找名为“空 3D 节点”的 3D 空节点 (Empty Node 3D) 节点。
var emptyNode = node.lookupNode('Empty Node 3D');
//向 3D 空节点添加 NewSphere 节点。
emptyNode.addChild(sphere);

getChild

获取某个节点的子节点。

语法 getChild()
示例
//查找名为 Empty Node 3D 的 3D 空节点 (Empty Node 3D) 节点。
var emptyNode = node.lookupNode('Empty Node 3D');
//获取 emptyNode 节点的第二个子节点。
emptyNode.getChild(1);

getChildCount

获取某个节点的子节点数量。

语法 getChildCount()
示例
//查找名为 Empty Node 3D 的 3D 空节点 (Empty Node 3D) 节点。
var emptyNode = node.lookupNode('Empty Node 3D');
//获取 emptyNode 的子节点数量。
emptyNode.getChildCount();

removeChild

移除某个节点的子节点。

语法 removeChild(node)
参数
node 要移除的节点
示例
//实例化名为 Sphere 的预设件,并将其命名为 NewSphere。
var sphere = instantiatePrefab('kzb://<project_name>/Prefabs/Sphere', 'NewSphere');
//查找名为“空 3D 节点”的 3D 空节点 (Empty Node 3D) 节点。
var emptyNode = node.lookupNode('./Empty Node 3D');
//向 Empty Node 3D 节点添加 NewSphere 节点。
emptyNode.addChild(sphere);
//从 Empty Node 3D 节点移除 NewSphere 节点。
emptyNode.removeChild(sphere);

removeAllChildren

移除某个节点的所有子节点。

语法 removeAllChildren()
示例
//查找 EmptyNode 别名指向的节点。
var emptyNode = node.lookupNode('#EmptyNode');
//移除 emptyNode 节点的所有子节点。
emptyNode.removeAllChildren();

父节点

getParent

获取当前节点的父节点。

语法 getParent()
示例
//获取当前节点的父节点。
//节点是一个全局变量,并解析到节点。
var parentNode = node.getParent();
//获取当前节点的父节点。
var nodeParent = node.lookupNode('..');

您可以将项添加到从项集合继承的控件。这些控件为所有列表框节点(3D 轨迹列表框 (Trajectory List Box 3D)3D 网格列表框 (Grid List Box 3D)2D 网格列表框 (Grid List Box 2D))。请参阅 API reference

所有其他节点拥有子节点。请参阅子节点

addItem

向某个节点添加项。

语法 addItem(node)
参数
node 要作为项添加的节点
示例
//实例化名为 Text Block 3D 的预设件,并将其命名为 NewText。
var text = instantiatePrefab('kzb://<project_name>/Prefabs/Text Block 3D', 'NewText');
//查找名为“Grid List Box 3D”的 3D 网格列表框 (Grid List Box 3D) 节点。
var gridListBox = node.lookupNode('Grid List Box 3D');
//向 3D 网络列表框节点添加 NewText 节点。
gridListBox.addItem(text);

getItem

从某个项的主页面获取该项。

语法 getItem(index)
参数
index 该项在其主页面中的位置。
返回
示例
//查找名为 Grid List Box 3D 的 3D 网格列表框 (Grid List Box 3D) 节点。
var gridListBox = node.lookupNode('Grid List Box 3D');
//获取 gridListBox 的第二个项。
gridListBox.getItem(1);

getItemCount

获取属于某个节点的项数量。

语法 getItemCount()
返回 调用该方法的节点中的项数量
示例
//查找名为 Grid List Box 3D 的 3D 网格列表框 (Grid List Box 3D) 节点。
var gridListBox = node.lookupNode('Grid List Box 3D');
//将 3D 网格列表框中的项数打印到日志 (Log) 窗口。
print(gridListBox.getItemCount());

removeAllItems

移除节点中的所有项。

语法 removeAllItems()
示例
//查找名为 Grid List Box 3D 的 3D 网格列表框 (Grid List Box 3D) 节点。
var gridListBox = node.lookupNode('Grid List Box 3D');
//移除 Grid List Box 3D 节点中的所有项。
gridListBox.removeAllItems();

removeItem

移除节点中的某个项。

语法 removeItem(node)
参数
node 要移除的节点
示例
//实例化名为 Text Block 3D 的预设件,并将其命名为 NewText。
var text = instantiatePrefab('kzb://<project_name>/Prefabs/Text Block 3D', 'NewText');
//查找名为“Grid List Box 3D”的 3D 网格列表框 (Grid List Box 3D) 节点。
var gridListBox = node.lookupNode('Grid List Box 3D');
//向 Grid List Box 3D 节点添加 NewText 节点。
gridListBox.addItem(text);
//移除 Grid List Box 3D 节点中的 NewText 节点。
gridListBox.removeItem(text);

焦点

您可以将焦点设置到节点,并在焦点链中移动焦点。焦点链是节点序列,它定义了 Kanzi 设置焦点到这些节点的顺序。请参阅焦点使用焦点

getFocusedNode

获取当前有焦点的节点。

请参阅 trySetFocus

语法 getFocusedNode()
返回 有焦点的节点。
示例
//获取当前有焦点的节点。
var nodeInFocus = getFocusedNode();
//将节点的名称 (Name) 打印到日志 (Log) 窗口。
print(nodeInFocus.Name);

trySetFocus

设置节点的焦点。例如,使用 trySetFocus 设置工程中某个特定节点的焦点,以便能接收键盘的输入。请参阅使用触发器键盘输入代码参考,以及 getFocusedNode

语法 trySetFocus()
示例
//查找 Button 别名指向的节点。
var buttonNode = node.lookupNode('#Button');
//将焦点设为 buttonNode 节点。
buttonNode.trySetFocus();

tryMoveActiveFocusForward

将焦点从当前获得焦点的节点移动到焦点链中前进方向上的下一个节点。Kanzi 在焦点链中自动包括工程中的所有节点。默认情况下,焦点链将活动焦点从每个节点移动到下一个子节点。前进方向链采用节点层级先序遍历。如果下一个节点是焦点范围,该范围中第一个可聚焦的节点接收焦点。

请参阅 tryMoveActiveFocusBackwardtryMoveActiveFocusUpwardtryMoveActiveFocusDownwardtryMoveActiveFocusLefttryMoveActiveFocusRight

语法 tryMoveActiveFocusForward()
示例
//将焦点从当前获得焦点的节点移动到启用可聚焦 (Focusable) 属性的下一个子节点。
//如果没有子节点,在工程树中向下移动焦点至下一个启用可聚焦 (Focusable) 属性的节点。
tryMoveActiveFocusForward();

tryMoveActiveFocusBackward

将焦点从当前获得焦点的节点移动到焦点链中后退方向上的下一个节点。Kanzi 在焦点链中自动包括工程中的所有节点。后退方向链采用节点层级反向先序遍历。如果下一个节点是焦点范围,该范围中第一个可聚焦的节点接收焦点。

请参阅 tryMoveActiveFocusForwardtryMoveActiveFocusUpwardtryMoveActiveFocusDownwardtryMoveActiveFocusLefttryMoveActiveFocusRight

语法 tryMoveActiveFocusBackward()
示例
//将焦点从当前获得焦点的节点移动到启用可聚焦 (Focusable) 属性的上一个子节点或父节点。
//如果没有子节点或父接单,在工程树中向上移动焦点至下一个启用可聚焦 (Focusable) 属性的节点。
tryMoveActiveFocusBackward();

tryMoveActiveFocusUpward

将焦点从当前获得焦点的节点根据该节点的渲染位置从向上方向移动到下一个节点。使用向上导航节点 (Up Navigation Node) 属性将相对路径设置成要接收焦点的节点。要接收焦点,节点必须启用 可聚焦 (Focusable) 属性。

请参阅 tryMoveActiveFocusForwardtryMoveActiveFocusBackwardtryMoveActiveFocusDownwardtryMoveActiveFocusLefttryMoveActiveFocusRight

语法 tryMoveActiveFocusUpward()
示例
//将焦点从当前获得焦点的节点移动到
//向上导航节点 (Up Navigation Node) 属性中指定的节点。
tryMoveActiveFocusUpward();

tryMoveActiveFocusDownward

将焦点从当前获得焦点的节点根据该节点的渲染位置从向下方向移动到下一个节点。使用向下导航节点 (Down Navigation Node) 属性将相对路径设置成要接收焦点的节点。要接收焦点,节点必须启用 可聚焦 (Focusable) 属性。

请参阅 tryMoveActiveFocusForwardtryMoveActiveFocusBackwardtryMoveActiveFocusUpwardtryMoveActiveFocusLefttryMoveActiveFocusRight

语法 tryMoveActiveFocusDownward()
示例
//将焦点从当前获得焦点的节点移动到
//向下导航节点 (Down Navigation Node) 属性中指定的节点。
tryMoveActiveFocusDownward();

tryMoveActiveFocusLeft

将焦点从当前获得焦点的节点根据该节点的渲染位置移动到左侧下一个节点。使用向左导航节点 (Left Navigation Node) 属性将相对路径设置成要接收焦点的节点。要接收焦点,节点必须启用 可聚焦 (Focusable) 属性。

请参阅 tryMoveActiveFocusForwardtryMoveActiveFocusBackwardtryMoveActiveFocusUpwardtryMoveActiveFocusDownwardtryMoveActiveFocusRight

语法 tryMoveActiveFocusLeft()
示例
//将焦点从当前获得焦点的节点移动到
//向左导航节点 (Left Navigation Node) 属性中指定的节点。
tryMoveActiveFocusLeft();

tryMoveActiveFocusRight

将焦点从当前获得焦点的节点根据该节点的渲染位置移动到右侧下一个节点。使用向右导航节点 (Right Navigation Node) 属性将相对路径设置成要接收焦点的节点。要接收焦点,节点必须启用 可聚焦 (Focusable) 属性。

请参阅 tryMoveActiveFocusForwardtryMoveActiveFocusBackwardtryMoveActiveFocusUpwardtryMoveActiveFocusDownwardtryMoveActiveFocusLeft

语法 tryMoveActiveFocusRight()
示例
// 将焦点从当前获得焦点的节点移动到
//向右导航节点 (Right Navigation Node) 属性中指定的节点。
tryMoveActiveFocusRight();

页面 (Page)主页面 (Page Host) 节点

使用页面 (Page)主页面 (Page Host) 节点函数,在应用程序中的页面 (Page)主页面 (Page Host) 节点之间导航。

navigateToThisPage

导航至页面 (Page)主页面 (Page Host) 节点。

语法 navigateToThisPage()
示例
//查找别名指向的节点。别名可以指向页面 (Page)主页面 (Page Host) 节点。
var settingsPageHost = node.lookupNode('#SettingsPageHost');
//导航至 settingsPageHost 节点。 
settingsPageHost.navigateToThisPage();

navigateToNextPage

导航至主页面 (Page Host) 节点的下一个页面 (Page)主页面 (Page Host) 子节点。

语法 navigateToNextPage()
示例
//查找别名指向的主页面 (Page Host) 节点。
var applicationsPageHost = node.lookupNode('#ApplicationsPageHost');
//导航至 applicationsPageHost 节点的下一个页面 (Page)主页面 (Page Host) 子节点。 
applicationsPageHost.navigateToNextPage();

navigateToPreviousPage

导航至主页面 (Page Host) 节点的上一个页面 (Page)主页面 (Page Host) 子节点。

语法 navigateToPreviousPage()
示例
//查找别名指向的主页面 (Page Host) 节点。
var applicationsPageHost = node.lookupNode('#ApplicationsPageHost');
//导航至 applicationsPageHost 节点的上一个页面 (Page)主页面 (Page Host) 子节点。 
applicationsPageHost.navigateToPreviousPage();

navigateToParentPage

导航至页面 (Page)主页面 (Page Host) 节点的页面 (Page)主页面 (Page Host) 父节点。

语法 navigateToParentPage()
示例
//导航至当前节点的页面 (Page)主页面 (Page Host) 父节点。
node.navigateToParentPage();
//查找别名指向的节点。别名可以指向页面 (Page)主页面 (Page Host) 节点。
var mediaPage = node.lookupNode('#MediaPage');
//导航至 mediaPage 节点的页面 (Page)主页面 (Page Host) 父节点。 
mediaPage.navigateToParentPage();

状态机

使用状态机函数控制您的应用程序的状态。

goToState

将应用程序设为您调用函数的节点的状态机的状态组中的状态。

请参阅 goToNextDefinedStategoToPreviousDefinedState

语法 goToState('stateGroup.state')
参数
stateGroup 包含要设置的应用程序状态的状态组的名称
state 要将应用程序设置到该状态的状态名称
示例
//获取您在其中执行脚本的节点的布局高度 (Layout Height) 属性的值。
var height = node.getProperty('Node.Height');

//检查布局高度 (Layout Height) 属性的值。
//如果布局高度 (Layout Height) 属性的值小于或等于 50,则将应用程序设为
//名为 FuelGauge 的状态组中名称为 Empty 的状态,且该状态组位于当前节点的状态机中。
if (height <= 50)
{
	node.goToState('FuelGauge.Empty');
}
//如果布局高度 (Layout Height) 属性的值大于 50 且小于或等于 250,
//则将应用程序设为名为 FuelGauge 的状态组中名称为 Half 的状态,且该状态组在当前节点的状态机中。
else if (height > 50 && height <= 250)
{
	node.goToState('StateGroup.Half');
}
//对于布局高度 (Layout Height) 属性的所有其他值,将应用程序设为
//名为 FuelGauge 的状态组中名称为 Full 的状态,且该状态组在当前节点的状态机中。
else
{
	node.goToState('StateGroup.Full');
}

goToNextDefinedState

将应用程序设为状态机的状态组中的下一状态。当达到状态组中的最后一个状态时,该函数会将应用程序设置为该状态组中的第一个状态。

请参阅 goToStategoToPreviousDefinedState

语法 goToNextDefinedState('stateGroup')
参数
stateGroup 您要在其中设置下一状态的状态组的名称
示例
//在您执行脚本的节点的名为 MenuControl 的状态组中,设置下一状态。
node.goToNextDefinedState('MenuControl');

goToPreviousDefinedState

将应用程序设为状态机的状态组中的上一状态。当达到状态组中的第一个状态时,该函数会将应用程序设置为该状态组中的最后一个状态。

请参阅 goToStategoToNextDefinedState

语法 goToPreviousDefinedState('stateGroup')
参数
stateGroup 您要在其中设置上一状态的状态组的名称
示例
//在您执行脚本的节点的名为 MenuControl 的状态组中,设置上一状态。
node.goToPreviousDefinedState('MenuControl');

布局变换

您可以通过以下方式应用变换:

rotateLayout

应用节点的布局旋转。您仅可将函数用于 2D 节点。

语法 rotateLayout(angle)
参数
angle 布局旋转的角度(单位:度)
示例
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//应用 90 度布局旋转。
text.rotateLayout(90);

rotateXLayout

向现有旋转应用围绕 x 轴的节点的布局旋转。您仅可将函数用于 3D 对象。

语法 rotateXLayout(angle)
参数
angle 围绕 x 轴的布局旋转的角度(单位:度)
示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//应用围绕 x 轴的 120 度旋转。
text.rotateXLayout(120);

rotateYLayout

向现有旋转应用围绕 y 轴的节点的布局旋转。您仅可将函数用于 3D 对象。

语法 rotateYLayout(angle)
参数
angle 围绕 y 轴的布局旋转的角度(单位:度)
示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//应用围绕 y 轴的 120 度布局旋转。
text.rotateYLayout(120);

rotateZLayout

向现有旋转应用围绕 z 轴的节点的布局旋转。您仅可将函数用于 3D 对象。

语法 rotateZLayout(angle)
参数
angle 围绕 z 轴的布局旋转的角度(单位:度)
示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//应用围绕 z 轴的 120 度旋转。
text.rotateZLayout(120);

setLayoutRotation

设置节点的布局旋转。您可以将函数用于 2D 和 3D 节点。

请参阅 getLayoutRotationextractLayoutTransformEulerXextractLayoutTransformEulerYextractLayoutTransformEulerZ

语法

对于 2D 节点: setLayoutRotation(x)

对于 3D 节点: setLayoutRotation(x, y, z)

参数
x x 轴的布局旋转的角度(单位:度)
y y 轴的布局旋转的角度(单位:度)
z z 轴的布局旋转的角度(单位:度)
示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//设置围绕以下轴的布局旋转:
// - x 轴为 15 度
// - y 轴为 10 度
// - z 轴为 0 度
text.setLayoutRotation(15, 10, 0);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//将布局旋转的角度设为 90 度。
image.setLayoutRotation(90);

getLayoutRotation

获取 2D 节点的 布局变换 (Layout Transformation) 属性的旋转角度(单位:度)。要获取 3D 节点的 布局变换 (Layout Transformation) 属性的旋转,使用 extractLayoutTransformEulerXextractLayoutTransformEulerYextractLayoutTransformEulerZ

请参阅 setLayoutRotation

语法 getLayoutRotation()
返回

整数或浮点

示例
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//从选定节点的 布局变换 (Layout Transformation) 属性获取旋转。
var imageRotation = image.getLayoutRotation();

extractLayoutTransformEulerX

从 3D 节点的 布局变换 (Layout Transformation) 旋转 X (Rotation X) 属性获取 X 欧拉角。要旋转 2D 节点的布局变换 (Layout Transformation) 属性,可使用 getLayoutRotation

请参阅 setLayoutRotation

语法 extractLayoutTransformEulerX()
返回
浮点:X 欧拉角的值(单位:度)
示例
//查找名为 Plane 的 平面 (Plane) 节点。
var plane = node.lookupNode('./Viewport 2D/Scene/Plane');
//从选定节点的 布局变换 (Layout Transformation) 属性提取 X 欧拉角。
var xEulerAngle = plane.extractLayoutTransformEulerX();

extractLayoutTransformEulerY

从 3D 节点的 布局变换 (Layout Transformation) 旋转 Y (Rotation Y) 属性字段获取 Y 欧拉角。要旋转 2D 节点的布局变换 (Layout Transformation) 属性,可使用 getLayoutRotation

请参阅 setLayoutRotation

语法 extractLayoutTransformEulerY()
返回
浮点:Y 欧拉角的值(单位:度)
示例
//查找名为 Button 3D 的 3D 按钮 (Button 3D) 节点。
var button = node.lookupNode('./Viewport 2D/Scene/Button 3D');
//从选定节点的 布局变换 (Layout Transformation) 属性提取 Y 欧拉角。
var yEulerAngle = button.extractLayoutTransformEulerY();

extractLayoutTransformEulerZ

从 3D 节点的 布局变换 (Layout Transformation) 旋转 Z (Rotation Z) 属性字段获取 Z 欧拉角。要旋转 2D 节点的布局变换 (Layout Transformation) 属性,可使用 getLayoutRotation

请参阅 setLayoutRotation

语法 extractLayoutTransformEulerZ()
返回
浮点:Z 欧拉角的值(单位:度)
示例
//查找名为 Cube 的 方框 (Box) 节点。
var box = node.lookupNode('./Viewport 2D/Scene/Cube');
//从选定节点的 布局变换 (Layout Transformation) 属性提取 Z 欧拉角。
var zEulerAngle = box.extractLayoutTransformEulerZ();

scaleLayout

应用节点的布局缩放。您可以将函数用于 2D 和 3D 节点。

语法

对于 2D 节点: scaleLayout(x, y)

对于 3D 节点: scaleLayout(x, y, z)

参数
x 应用 x 轴的节点的布局缩放(单位:百分比)
y 应用 y 轴的节点的布局缩放(单位:百分比)
z 应用 z 轴的节点的布局缩放(单位:百分比)
示例
//查找名为 Ball 的 球体 (Sphere) 节点。
var ball = node.lookupNode('Ball');
//应用节点的布局缩放:
// - 将 x 轴的布局缩放比例增加 100%。
// - 将 y 轴的布局缩放比例减小 10%。
// - 将 z 轴的布局缩放比例增加 50%。
ball.scaleLayout(2, 0.9, 1.5);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//应用节点的布局缩放:
// - 将 x 轴的布局缩放比例增加 50%。
// - 将 y 轴的布局缩放比例减小 25%。
image.scaleLayout(1.5, 0.75);

setLayoutScale

增加或减小节点的布局缩放比例。您可以将函数用于 2D 和 3D 节点。

请参阅 getLayoutScale

语法

对于 2D 节点: setLayoutScale(x, y)

对于 3D 节点: setLayoutScale(x, y, z)

参数
x x 轴的节点的布局缩放(单位:百分比)
y y 轴的节点的布局缩放(单位:百分比)
z z 轴的节点的布局缩放(单位:百分比)
示例
//查找名为 Ball 的 球体 (Sphere) 节点。
var ball = node.lookupNode('Ball');
//设置节点的布局缩放:
// - 将 x 轴的节点的布局缩放比例设为 200%。
// - 将 y 轴的节点的布局缩放比例设为 10%。
// - 将 z 轴的节点的布局缩放比例设为 50%。
ball.setLayoutScale(2, 0.1, 0.5);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//设置节点的布局缩放:
// - 在 x 轴上为 150%
// - 在 y 轴上为 75%。
image.setLayoutScale(1.5, 0.75);

getLayoutScale

获取节点的当前布局缩放比例值。您可以将函数用于 2D 和 3D 节点。

请参阅 setLayoutScale

语法 getLayoutScale()
返回 x、y 和 z 轴的布局缩放比例值
示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//获取 x、y 和 z 轴的布局缩放比例值。
text.getLayoutScale();
//仅获取 x 轴的布局缩放比例值。
text.getLayoutScale()[0];
//仅获取 z 轴的布局缩放比例值。
text.getLayoutScale()[2];
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//获取 x 和y 轴的布局缩放比例值。
image.getLayoutScale();
//仅获取 x 轴的布局缩放比例值。
image.getLayoutScale()[0];

translateLayout

向节点应用布局变换。您可以将函数用于 2D 和 3D 节点。

语法

对于 2D 节点: translateLayout(x, y)

对于 3D 节点: translateLayout(x, y, z)

参数
x

向 x 轴的节点应用布局变换:

  • 对于 3D 节点,使用设备无关单位
  • 对于 2D 节点,使用像素单位
y

向 y 轴的节点应用布局变换:

  • 对于 3D 节点,使用设备无关单位
  • 对于 2D 节点,使用像素单位
z

使用设备无关单位应用 z 轴节点的布局变换

示例
//查找名为 Ball 的 球体 (Sphere) 节点。
var ball = node.lookupNode('Ball');
//应用节点的布局变换:
// - 沿 x 轴移动 2 个设备无关单位。
// - 沿 y 轴移动 0.5 个设备无关单位。
// - 沿 z 轴移动 0.1 个设备无关单位。
ball.translateLayout(2, 0.5, 0.1);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//应用节点的布局变换:
// - 沿 x 轴移动 100 像素。
// - 沿 y 轴移动 50 像素。
image.translateLayout(100, 50);

setLayoutTranslation

设置节点的布局变换。您可以将函数用于 2D 和 3D 节点。

请参阅 getLayoutTranslation

语法

对于 2D 节点: setLayoutTranslation(x, y)

对于 3D 节点: setLayoutTranslation(x, y, z)

参数
x

x 轴上节点的布局变换

  • 对于 3D 节点,使用设备无关单位
  • 对于 2D 节点,使用像素单位
y

y 轴上节点的布局变换

  • 对于 3D 节点,使用设备无关单位
  • 对于 2D 节点,使用像素单位
z 使用设备无关单位的 z 轴节点的布局变换
示例
//查找名为 Ball 的 球体 (Sphere) 节点。
var ball = node.lookupNode('Ball');
//设置节点的布局变换:
// - 沿 x 轴移动 2 个设备无关单位。
// - 沿 y 轴移动 0.5 个设备无关单位。
// - 沿 z 轴移动 0.1 个设备无关单位。
ball.setLayoutTranslation(2, 0.5, 0.1);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//设置节点的布局变换:
// - 沿 x 轴移动 100 像素。
// - 沿 y 轴移动 50 像素。
image.setLayoutTranslation(100, 50);

getLayoutTranslation

获取节点的当前布局变换值。您可以将函数用于 2D 和 3D 节点。

请参阅 setLayoutTranslation

语法 getLayoutTranslation()
返回

对于 2D 节点:包含 x 和 y 轴的布局变换值的整数或浮点值的数组。

对于 3D 节点:包含 x、y 和 z 轴的布局变换值的整数或浮点值的数组。

示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//获取 x、y 和 z 轴的布局变换值。
text.getLayoutTranslation();
//仅获取 x 轴的布局变换值。
text.getLayoutTranslation()[0];
//仅获取 z 轴的布局变换值。
text.getLayoutTranslation()[2];
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//获取节点的布局变换值。
image.getLayoutTranslation();
//仅获取 x 轴的布局变换值。
image.getLayoutTranslation()[0];
//仅获取 y 轴的布局变换值。
image.getLayoutTranslation()[1];

渲染变换

您可以通过以下方式应用变换:

rotateRender

应用节点的渲染旋转。您仅可将函数用于 2D 节点。

语法 rotateRender(angle)
参数
angle 渲染旋转的角度(单位:度)
示例
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//应用 90 度渲染旋转。
text.rotateRender(90);

rotateXRender

向现有旋转应用围绕 x 轴的节点的渲染旋转。您仅可将函数用于 3D 对象。

语法 rotateXRender(angle)
参数
angle 围绕 x 轴的渲染旋转的角度(单位:度)
示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//应用围绕 x 轴的 120 度旋转。
text.rotateXRender(120);

rotateYRender

向现有旋转应用围绕 y 轴的节点的渲染旋转。您仅可将函数用于 3D 对象。

语法 rotateYRender(angle)
参数
angle 围绕 y 轴的渲染旋转的角度(单位:度)
示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//应用围绕 y 轴的 120 度渲染旋转。
text.rotateYRender(120);

rotateZRender

向现有旋转应用围绕 z 轴的节点的渲染旋转。您仅可将函数用于 3D 对象。

语法 rotateZRender(angle)
参数
angle 围绕 z 轴的渲染旋转的角度(单位:度)
示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//应用围绕 z 轴的 120 度渲染旋转。
text.rotateZRender(120);

setRenderRotation

设置节点的渲染旋转。您可以将函数用于 2D 和 3D 节点。

请参阅 getRenderRotationextractRenderTransformEulerXextractRenderTransformEulerYextractRenderTransformEulerZ

语法

对于 2D 节点: setRenderRotation(x)

对于 3D 节点: setRenderRotation(x, y, z)

参数
x x 轴的渲染旋转的角度(单位:度)
y y 轴的渲染旋转的角度(单位:度)
z z 轴的渲染旋转的角度(单位:度)
示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//设置围绕以下轴的渲染旋转:
// - x 轴为 15 度
// - y 轴为 10 度
// - z 轴为 0 度
text.setRenderRotation(15, 10, 0);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//将渲染旋转的角度设为 90 度。
image.setRenderRotation(90);

getRenderRotation

获取 2D 节点的 渲染变换 (Render Transformation) 属性的旋转角度(单位:度)。要获取 3D 节点的 渲染变换 (Render Transformation) 属性的旋转,使用 extractRenderTransformEulerXextractRenderTransformEulerYextractRenderTransformEulerZ

请参阅 setRenderRotation

语法 getRenderRotation()
返回

整数或浮点

示例
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//从选定节点的 渲染变换 (Render Transformation) 属性获取旋转。
var imageRotation = image.getRenderRotation();

extractRenderTransformEulerX

从 3D 节点的 渲染变换 (Render Transformation) 旋转 X (Rotation X) 属性获取 X 欧拉角。要旋转 2D 节点的 渲染变换 (Render Transformation)属性,可使用 getRenderRotation

请参阅 setRenderRotation

语法 extractRenderTransformEulerX()
返回
浮点:X 欧拉角的值(单位:度)
示例
//查找名为 Plane 的 平面 (Plane) 节点。
var plane = node.lookupNode('./Viewport 2D/Scene/Plane');
//从选定节点的 渲染变换 (Render Transformation) 属性提取 X 欧拉角。
var xEulerAngle = plane.extractRenderTransformEulerX();

extractRenderTransformEulerY

从 3D 节点的 渲染变换 (Render Transformation) 旋转 Y (Rotation Y) 属性字段获取 Y 欧拉角。要旋转 2D 节点的 渲染变换 (Render Transformation)属性,可使用 getRenderRotation

请参阅 setRenderRotation

语法 extractRenderTransformEulerY()
返回
浮点:Y 欧拉角的值(单位:度)
示例
//查找名为 Button 3D 的 3D 按钮 (Button 3D) 节点。
var button = node.lookupNode('./Viewport 2D/Scene/Button 3D');
//从选定节点的 渲染变换 (Render Transformation) 属性提取 Y 欧拉角。
var yEulerAngle = button.extractRenderTransformEulerY();

extractRenderTransformEulerZ

从 3D 节点的 渲染变换 (Render Transformation) 旋转 Z (Rotation Z) 属性字段获取 Z 欧拉角。要旋转 2D 节点的 渲染变换 (Render Transformation)属性,可使用 getRenderRotation

请参阅 setRenderRotation

语法 extractRenderTransformEulerZ()
返回
浮点:Z 欧拉角的值(单位:度)
示例
//查找名为 Cube 的 方框 (Box) 节点。
var box = node.lookupNode('./Viewport 2D/Scene/Cube');
//从选定节点的 渲染变换 (Render Transformation) 属性提取 Z 欧拉角。
var zEulerAngle = box.extractRenderTransformEulerZ();

scaleRender

应用节点的渲染比例。您可以将函数用于 2D 和 3D 节点。

语法

对于 2D 节点: scaleRender(x, y)

对于 3D 节点: scaleRender(x, y, z)

参数
x 应用 x 轴上节点的渲染比例(单位:百分比)
y 应用 y 轴上节点的渲染比例(单位:百分比)
z 应用 z 轴上节点的渲染比例(单位:百分比)
示例
//查找名为 Ball 的 球体 (Sphere) 节点。
var ball = node.lookupNode('Ball');
//应用节点的渲染比例:
// - 将 x 轴的渲染比例增加 100%。
// - 将 y 轴的渲染比例减小 10%。
// - 将 z 轴的渲染比例增加 50%。
ball.scaleRender(2, 0.9, 1.5);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//应用节点的渲染比例:
// - 将 x 轴的渲染比例增加 50%。
// - 将 y 轴的渲染比例减小 25%。
image.scaleRender(1.5, 0.75);

setRenderScale

增加或减小节点的渲染比例。您可以将函数用于 2D 和 3D 节点。

请参阅 getRenderScale

语法

对于 2D 节点: setRenderScale(x, y)

对于 3D 节点: setRenderScale(x, y, z)

参数
x x 轴的节点的渲染比例(单位:百分比)
y y 轴的节点的渲染比例(单位:百分比)
z z 轴的节点的渲染比例(单位:百分比)
示例
//查找名为 Ball 的 球体 (Sphere) 节点。
var ball = node.lookupNode('Ball');
//设置节点的渲染比例:
// - 将 x 轴的节点的布局缩放比例设为 200%。
// - 将 y 轴的节点的布局缩放比例设为 10%。
// - 将 z 轴的节点的布局缩放比例设为 50%。
ball.setRenderScale(2, 0.1, 0.5);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//设置节点的渲染比例:
// - 在 x 轴上为 150%
// - 在 y 轴上为 75%。
image.setRenderScale(1.5, 0.75);

getRenderScale

获取节点的当前渲染比例值。您可以将函数用于 2D 和 3D 节点。

请参阅 setRenderScale

语法 getRenderScale()
返回 x、y 和 z 轴的渲染旋转值
示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//获取 x、y 和 z 轴的渲染比例值。
text.getRenderScale();
//仅获取 x 轴的渲染比例值。
text.getRenderScale()[0];
//仅获取 z 轴的渲染比例值。
text.getRenderScale()[2];
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//获取 x 和y 轴的渲染比例值。
image.getRenderScale();
//仅获取 x 轴的渲染比例值。
image.getRenderScale()[0];

translateRender

向节点应用渲染变换。您可以将函数用于 2D 和 3D 节点。

语法

对于 2D 节点: translateRender(x, y)

对于 3D 节点: translateRender(x, y, z)

参数
x

向 x 轴的节点应用渲染变换:

  • 对于 3D 节点,使用设备无关单位
  • 对于 2D 节点,使用像素单位
y

向 y 轴的节点应用渲染变换:

  • 对于 3D 节点,使用设备无关单位
  • 对于 2D 节点,使用像素单位
z

使用设备无关单位应用 z 轴节点的渲染变换

示例
//查找名为 Ball 的 球体 (Sphere) 节点。
var ball = node.lookupNode('Ball');
//应用节点的渲染变换:
// - 沿 x 轴移动 2 个设备无关单位。
// - 沿 y 轴移动 0.5 个设备无关单位。
// - 沿 z 轴移动 0.1 个设备无关单位。
ball.translateRender(2, 0.5, 0.1);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//应用节点的渲染变换:
// - 沿 x 轴移动 100 像素。
// - 沿 y 轴移动 50 像素。
image.translateRender(100, 50);

setRenderTranslation

设置节点的渲染变换。您可以将函数用于 2D 和 3D 节点。

请参阅 getRenderTranslation

语法

对于 2D 节点: setRenderTranslation(x, y)

对于 3D 节点: setRenderTranslation(x, y, z)

参数
x

x 轴上节点的渲染变换

  • 对于 3D 节点,使用设备无关单位
  • 对于 2D 节点,使用像素单位
y

y 轴上节点的渲染变换

  • 对于 3D 节点,使用设备无关单位
  • 对于 2D 节点,使用像素单位
z 使用设备无关单位的 z 轴节点的渲染变换
示例
//查找名为 Ball 的 球体 (Sphere) 节点。
var ball = node.lookupNode('Ball');
//设置节点的渲染变换:
// - 沿 x 轴移动 2 个设备无关单位。
// - 沿 y 轴移动 0.5 个设备无关单位。
// - 沿 z 轴移动 0.1 个设备无关单位。
ball.setRenderTranslation(2, 0.5, 0.1);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//设置节点的渲染变换:
// - 沿 x 轴移动 100 像素。
// - 沿 y 轴移动 50 像素。
image.setRenderTranslation(100, 50);

getRenderTranslation

获取节点的当前渲染变换值。您可以将函数用于 2D 和 3D 节点。

请参阅 setRenderTranslation

语法 getRenderTranslation()
返回

对于 2D 节点:包含 x 和 y 轴的渲染变换值的整数或浮点值的数组。

对于 3D 节点:包含 x、y 和 z 轴的渲染变换值的整数或浮点值的数组。

示例
//查找名为 Text 的 3D 文本块 (Text Block 3D) 节点。
var text = node.lookupNode('Text');
//获取 x、y 和 z 轴的渲染变换值。
text.getRenderTranslation();
//仅获取 x 轴的渲染变换值。
text.getRenderTranslation()[0];
//仅获取 z 轴的渲染变换值。
text.getRenderTranslation()[2];
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//获取节点的渲染变换值。
image.getRenderTranslation();
//仅获取 x 轴的渲染变换值。
image.getRenderTranslation()[0];
//仅获取 y 轴的渲染变换值。
image.getRenderTranslation()[1];

setRenderTransformationOrigin

设置节点的渲染变换原点。

渲染变换原点的值以节点的宽度和高度百分比表示。例如,看看这些值如何定义一个节点的渲染变换原点:

您仅可将函数用于 2D 节点。

请参阅 getRenderTransformationOrigin

语法 setRenderTransformationOrigin(x, y)
参数
x

整数或浮点:x 轴上节点的渲染变换原点(单位:百分比)

y

整数或浮点:x 轴上节点的渲染变换原点(单位:百分比)

示例
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//将节点的渲染变换原点设为
//节点的右下角
image.setRenderTransformationOrigin(1, 1);
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//将节点的渲染变换原点设为
//节点的中心
image.setRenderTransformationOrigin(0.5, 0.5);

getRenderTransformationOrigin

获取当前的渲染变换原点。

渲染变换原点的值以节点的宽度和高度百分比表示。例如,看看这些值如何定义一个节点的渲染变换原点:

您仅可将函数用于 2D 节点。

请参阅 setRenderTransformationOrigin

语法 getRenderTransformationOrigin()
返回

包含 x 和 y 轴的渲染变换原点值的整数或浮点值的数组。

示例
//查找名为 Photo 的 图像 (Image) 节点。
var image = node.lookupNode('Photo');
//获取节点的渲染变换原点值。
image.getRenderTransformationOrigin();
//仅获取 x 轴的渲染变换值。
image.getRenderTransformationOrigin()[0];
//仅获取 y 轴的渲染变换值。
image.getRenderTransformationOrigin()[1];

另请参阅

使用脚本