标签: brightscript

错误:安装失败:没有清单.无效的包.安装失败:没有清单

嗨,我刚刚开始使用Roku开发.我下载了sdk,并一直在尝试运行一个hello world应用程序.我有一个源文件夹和一个清单文件.但我仍然收到以下错误:

错误:安装失败:没有清单.无效的包.安装失败:没有清单.

这是hello world的代码:

sub Main()
  ' create our screen
  screen = CreateObject("roPosterScreen") 

  ' setup a message port so we can receive event information
  port = CreateObject("roMessagePort")
  screen.SetMessagePort(port)

  ' change the screen's message text
  screen.ShowMessage("Hello World!")
  screen.Show()

  ' start our event loop
  while true
    msg = Wait(0, port) ' wait for an event

    if type(msg) = "roPosterScreenEvent"
      ' we got a poster screen event
      if msg.isScreenClosed()
        ' the user closed the screen
        exit while
      end if
    end if
  end …
Run Code Online (Sandbox Code Playgroud)

roku brightscript

4
推荐指数
1
解决办法
5709
查看次数

BrightScript 中 m 和 m.top 的区别?

Roku 论坛上提供了此差异。但我不明白。有谁知道这个区别及其属性?

roku brightscript

4
推荐指数
1
解决办法
1415
查看次数

如何有效地检查数组是否包含 BrightScript 中的值?

给定一个 roArray:

found = CreateObject("roArray", 0, true)
found.push("a")
found.push("b")
found.push("c")
Run Code Online (Sandbox Code Playgroud)

检查值的最佳方法是什么s = "s"

arrays roku brightscript

3
推荐指数
1
解决办法
1711
查看次数

是否可以将匿名函数分配给全局关联数组属性?

roku / brightscript开发的新手:是否可以向全局关联数组(可由所有组件访问)添加一个对象,该对象的方法定义为属性之一,然后调用该方法?

Main.brs:

function Main()
    init()
end function

function init()    
    screen = createObject("roSGScreen") 
    m.port = createObject("roMessagePort")
    screen.SetMessagePort(m.port)

    scene = screen.CreateScene("MainController")
    screen.show()

    o = {
        getName: function() as string
            return "John"
        end function
    }

    setUpGlobal(screen)
    m.global.addFields({mainMethods: o})        

    while(true)
        msg = wait(0, m.port)
        msgType = type(msg)

        if msgType = "roSGScreenEvent"
            if msg.isScreenClosed() then exit while
        end if    
    end while        
end function

function setUpGlobal(p_screen as Object)
    m.global = p_screen.getGlobalNode()
    m.global.id = "GlobalNode"
end function
Run Code Online (Sandbox Code Playgroud)

..然后在另一个MainController中,在运行任务并返回数据后...

MainController.brs

function init()
    loadConfig()
end function


function …
Run Code Online (Sandbox Code Playgroud)

scenegraph roku brightscript

3
推荐指数
1
解决办法
605
查看次数

如何在屏幕上的键盘和按钮组之间移动焦点?

因此,对于工作中的项目,我们的任务是为客户创建Roku应用程序.很抱歉,如果这是一个愚蠢的问题,但我从未接触过一般的brightscript或Roku开发,而且我主要是一个反应/ javascript开发人员.

我正在插入我的方式,现在我正在尝试创建一个scenegraph组件来显示一个键盘,并在下面显示一个ButtonGroup.按钮组主要用于选择提交键盘文本字段中的内容,或取消输入.

到目前为止,我将组件渲染和焦点中的所有元素都设置到键盘上(这似乎是必要的,否则,只需按下遥控器上下键盘就无法选择键盘).

但是,当在键盘周围导航时,我找不到任何方法将焦点移动到按钮组.基本上,如果我按下键盘底行的遥控器,它什么都不做.它永远不会将焦点移动到buttongroup.

我只是希望有人可以帮我解决这个问题.我知道答案可能是显而易见的,我只是错过了,但是我整个上午都在反对这个问题,摆弄一些事情,我似乎无法弄明白.

下面是一个包含键盘和按键组件的组件示例.随意批评你看到的任何其他事情我也做得很糟糕,再说一遍,我对Roku dev没有真正的线索.

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 Roku Corp.  All Rights Reserved. -->
<component name="MemberEmail" extends="Group">

  <children>
    <LayoutGroup id="MemberEmailLayout" translation = "[ 0, 0 ]" itemSpacings="[20]">
      <Keyboard id="EmailKeyboard" />
      <ButtonGroup id="EmailButtonGroup" />
    </LayoutGroup>
  </children>
  <script type = "text/brightscript" >

    <![CDATA[

    sub init()
      m.parentNode = m.top.getParent()

      m.memberEmailLayout = m.top.findNode("MemberEmailLayout")
      m.emailKeyboard = m.top.findNode("EmailKeyboard")
      m.emailButtonGroup = m.top.findNode("EmailButtonGroup")

      m.emailButtonGroup.buttons = ["Submit", "Cancel"]
      m.emailButtonGroup.observeField("buttonSelected","buttonPressed")

      emailKeyboardRect = m.memberEmailLayout.boundingRect()
      emailKeyboardCenterX = (1920 - emailKeyboardRect.width) / 2
      emailKeyboardCenterY = (1080 …
Run Code Online (Sandbox Code Playgroud)

roku brightscript

3
推荐指数
1
解决办法
800
查看次数

如何使用brightscript中的接口来实现函数

我想要一个需要使用接口实现模型调用的函数。我读到 roku 在 BrightScript 文档的接口部分内提供了一个函数。所以我尝试了但失败了。有人可以帮助我吗?

roku brightscript

3
推荐指数
1
解决办法
2020
查看次数

Roku应用程序在第二个roMessagePort等待时退出而没有错误

这是我能够重现这个问题的最小片段.

Sub Main()
    u = getStringFromKeyboard("Enter username")
    p = getStringFromKeyboard("Enter password")
End Sub

Function getStringFromKeyboard(message = "" As String) As String
    result = ""
    port = CreateObject("roMessagePort")
    screen = CreateObject("roKeyboardScreen")
    screen.SetMessagePort(port)
    screen.SetDisplayText(message)
    screen.AddButton(1, "OK")
    screen.Show()
    while true
        print "waiting..."
        msg = wait(0, port)
        print "done waiting"
        if type(msg) = "roKeyboardScreenEvent" then
            if msg.GetIndex() = 1 then
                result = screen.GetText()
                exit while
            end if
        end if
    end while
    screen.Close()
    return result
End Function
Run Code Online (Sandbox Code Playgroud)

Roku将正确提示用户名,但在提示输入密码之前只会退出主菜单.调试输出表明应用程序在第二次调用wait()时正在进行borking:

waiting...
done waiting
waiting...
Run Code Online (Sandbox Code Playgroud)

这是SDK v4.1和OS v4.2.1006. …

roku brightscript

2
推荐指数
1
解决办法
830
查看次数

在OSX上安装后,BrightScript Eclipse插件不显示

在为Roku开发安装BrightScript Eclipse插件之后,它的作用就像它安装得很好但在Eclipse中的任何地方都看不到.我究竟做错了什么?

java eclipse macos brightscript

2
推荐指数
1
解决办法
1094
查看次数

如何为Roku编译C++代码?

我有一个使用Java和cpp代码的android流媒体客户端应用程序.我想将我的应用程序移植到Roku.据我所知,Roku建议只使用BrightScript进行应用开发.

1)根据这个链接(Roku中的C/C++开发),可以使用marmalade用cpp编写游戏应用程序并为Roku编译.

2)但是这个链接(Roku应用程序与Marmalade一起开发的可行性如何?)清楚地说,橘子酱不能用于流应用程序.

3)我的问题是(A)是否可以为roku编译cpp?

(B)我在哪里可以找到用于建造的工具链?

(C)如果使用BrightScript开发UI,我该如何从中调用cpp函数?

c++ roku brightscript

2
推荐指数
1
解决办法
1010
查看次数

如何在brightscript中编写全局函数?

我正在为 Roku Scene Graph 应用程序工作,我想编写全局用户定义的函数,该函数可以在我的应用程序中的任何位置使用和调用。有什么办法吗?请建议。

scenegraph roku brightscript

2
推荐指数
1
解决办法
1040
查看次数

标签 统计

brightscript ×10

roku ×9

scenegraph ×2

arrays ×1

c++ ×1

eclipse ×1

java ×1

macos ×1