Table of Contents


Extends: Group 

Description

The Scene node class serves as the root of a SceneGraph node tree. Every roSGScreen object must have a Scene node, or a node that derives from the Scene node class as its root, including an XML markup component that extends the Scene node class or subclass. That node must be created using the roSGScreen createScene() function, with an argument that is a string of the name of the Scene node object created. For example:

screen = CreateObject("roSGScreen")
scene = screen.CreateScene("Scene")

While it is technically possible to have more than one scene per channel, we recommend you only have one roSGScreen and one Scene node. Child nodes of the scene can be treated as different "scenes" where you can then implement transitions between them.

Fields

FieldTypeDefaultUse
backgroundURIuriinvalidSpecifies a graphic image file to be used for the Scene node background.
backgroundColorcolor0x000000FF

Specifies a background color for the scene. This color is only used if the backgroundURI field is set to an empty string. For example:

scene.backgroundColor="0xEB1010FF"
scene.backgroundUri = ""

dialognodeinvalidSetting this field to a node extended from a Dialog node causes the dialog to be displayed
backExitsScene

Boolean

trueIf true, a Back key press causes the scene to exit, back to the last user-focused item. If false, a Back key press does not cause the scene to exit. In order for the Back key to cause the scene to exit, the remote control focus must be explicitly set on the scene, or a child of the scene, using the ifSGNodeFocus interface setFocus(true) function. A Home key press always causes the scene to exit.
currentDesignResolutionassocarray 

This field is available in firmware 7.7 and later.

This read-only field is set when the Scene is initialized. It indicates which of a channel's design resolutions (per manifest's ui_resolutions value) is being used, based on the player model and connected display type. Previously, a developer could deduct the same information by using both roDeviceInfo.GetUIResolution() and roAppInfo.getValue("ui_resolutions"). This new field simplifies the process.

The field is set to an AA with two numeric-valued keys — width and height — as well as a string value indicating the current design resolution ("HD", "FHD" or "SD"). E.g.

Brightscript Debugger> ? myNode.getScene().currentDesignResolution
<Component: roAssociativeArray> =
{
    height: 720
    resolution: "HD"
    width: 1280
}