如何更改 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 上它没有反转?! ), 所以我没有在它上面闲逛几个小时,而是回去添加一个单独的动画来处理相反的情况。