Forum Discussion

2 Replies

  • these is no API currently for switching between Scene roSgNodes.
    so as practical advice, work under the same roSgScreen and Scene, instead say use Group nodes as a "para-scenes": attach all elements for a given visual screen (aka design scene) under a single Group node, then attach that to the Scene. When need to change to a new screen, detach (or hide) that group, replace it with another. Functionally this will work the same as if the "master scene" was replaceable
    • devsmarquez's avatar
      devsmarquez
      Reel Rookie

      Hi community I'm making an Roku app and I need to create window instance for can surf between it. The develop is inside the main fuction because is the only way that it works.

      Also I need to create some moduls that it not depend of the main, I have been investigating and is nesessary the nodes use and task.

      This's my code I wonder if you have some example using nodes and task

       

      function ApiConnection()

      m.nodo = createObject("roSGNode", "ContentReader")
      m.nodo.observeField("content", "ApiConnectionLogin")
      m.nodo.control = "RUN"

      end function

       

      sub ApiConnectionLogin()


      data ={
      username:m.txtuser.text,
      password:m.txtPassword.text
      }

       

      body = FormatJSON(data)
      port = CreateObject("roMessagePort")
      request = CreateObject("roUrlTransfer")
      request.SetMessagePort(port)
      request.SetCertificatesFile("common:/certs/ca-bundle.crt")
      request.RetainBodyOnError(true)
      request.AddHeader("Content-Type", "application/json")
      request.SetRequest("POST")
      request.SetUrl("https://www.example.com")
      requestSent = request.AsyncPostFromString(body)

      if (requestSent)
      msg = wait(0, port)
      if (type(msg) = "roUrlEvent")
      body = msg.GetString()
      print body

      m.view = createObject("roSGNode", "ContentReader")
      m.view.observeField("content", "ShowGridScreen")
      m.view.control = "RUN"

      end if
      end if

      end sub

       

      sub ShowGridScreen()


      screen = CreateObject("roSGScreen")
      port = CreateObject("roMessagePort")
      screen.setMessagePort(port)
      scene = screen.CreateScene("playerscreen")
      screen.show()

      end sub