如何通过brightscript中的脚本关闭屏幕

时间:2018-01-08 05:52:57

标签: roku brightscript scenegraph

我创建了一个roSGScreen实例(screen1)并将屏幕从主类推入屏幕堆栈。然后我将另一个屏幕(screen2)推入堆栈。现在我想以编程方式删除屏幕(从屏幕堆栈中弹出)。 ScreenGraph API表示close()函数调用将执行操作但是如何获取屏幕实例以及我应该在何处调用该方法(我在任务组件中执行此操作)对我来说并不清楚。

请帮我理解brightscript中的对象管理,特别是在屏幕堆栈中

2 个答案:

答案 0 :(得分:1)

您不应在应用中创建多个roSGScreen实例。应使用节点创建屏幕布局及其组件。甚至Roku文档也推荐相同的。

虽然技术上每个通道可以有多个场景,但我们建议您只有一个roSGScreen和一个场景节点。场景的子节点可以被视为不同的“场景”,然后您可以在它们之间实现过渡。

https://sdkdocs.roku.com/display/sdkdoc/Scene

答案 1 :(得分:0)

屏幕堆栈模型已被弃用。

SceneGraph应用程序可以通过以下方式控制屏幕元素的流动:

  • 通过响应用户遥控器按键事件 通过响应数据的变化,包括配置屏幕元素的数据
  • 通过更改屏幕元素的z顺序
  • 通过更改屏幕元素的父子关系
  • 创建和删除屏幕元素
  • 使屏幕元素不可见并使其他屏幕元素可见
  • 将遥控器焦点放在当前可能不在屏幕上或不可见的屏幕元素上

许多更复杂的SceneGraph节点类旨在自动响应远程控制按键事件,并自行配置以响应数据更改。

关注:https://sdkdocs.roku.com/display/sdkdoc/Controlling+Screen+Program+Flow