如何更改 Roku 场景图形动画节点上的插值器?
How to change the interpolator(s) on a Roku Scenegraph animation node?
以 Roku SDK 文档为例:
<Animation id="transAnimation"
duration="1"
repeat="true"
easeFunction="linear" >
<Vector2DFieldInterpolator id = "myInterp2"
key="[0.0, 1.0]"
keyValue="[ [640.0, 320.0], [100.0, 100.0] ]"
fieldToInterp="myPoster.translation" />
</Animation>
在 "transAnimation" 上完成查找后,是否可以更改 brightscript 代码中的插值器? XML 中存在插值器,但构建场景图后,它们不再显示为我的动画节点的子节点。
是的,你可以这样做,用 m.top.findNode 找到插值器并像这样修改反向值
myInterp2 = m.top.findNode("myInterp2")
myInterp2.reverse = true
假设这是一个可切换的项目,您需要取消设置原始动画中的反转:
myInterp2 = m.top.findNode("myInterp2")
myInterp2.reverse = false
然而,我上周刚经历过这个问题,由于某种原因无法让它在 Roku 4 上运行,尽管它有 7.7(在 1、3 和 ultra 上运行良好,但在 R4 上它没有反转?! ), 所以我没有在它上面闲逛几个小时,而是回去添加一个单独的动画来处理相反的情况。
以 Roku SDK 文档为例:
<Animation id="transAnimation"
duration="1"
repeat="true"
easeFunction="linear" >
<Vector2DFieldInterpolator id = "myInterp2"
key="[0.0, 1.0]"
keyValue="[ [640.0, 320.0], [100.0, 100.0] ]"
fieldToInterp="myPoster.translation" />
</Animation>
在 "transAnimation" 上完成查找后,是否可以更改 brightscript 代码中的插值器? XML 中存在插值器,但构建场景图后,它们不再显示为我的动画节点的子节点。
是的,你可以这样做,用 m.top.findNode 找到插值器并像这样修改反向值
myInterp2 = m.top.findNode("myInterp2")
myInterp2.reverse = true
假设这是一个可切换的项目,您需要取消设置原始动画中的反转:
myInterp2 = m.top.findNode("myInterp2")
myInterp2.reverse = false
然而,我上周刚经历过这个问题,由于某种原因无法让它在 Roku 4 上运行,尽管它有 7.7(在 1、3 和 ultra 上运行良好,但在 R4 上它没有反转?! ), 所以我没有在它上面闲逛几个小时,而是回去添加一个单独的动画来处理相反的情况。