我正在编写一个Roku应用程序,我需要从标准输入中读取一个字符串。我知道要打印到标准输出我可以使用函数print
,但我需要给用户启动脚本在运行时插入新参数的可能性,例如(伪代码) :
print "Enter server IP: "
string ip = getline();
print "Server IP " + ip
有办法吗?
答案 0 :(得分:0)
您需要将Keyboad ***组件添加到Scene.xml文件中:
<Keyboard
id = "keyboard"
/>
之后在Scene.xml中添加一个Button组件,在Scene.brs - init()函数中声明它,并在&#34; buttonSelected&#34;上设置观察者字段。还要声明键盘并设置焦点:
init():
m.keyboard = m.top.findNode("keyboard")
m.keyboard.setFocus(true)
m.button = m.top.findNode("button")
m.button.observeField("buttonSelected","onButtonSelected")
然后创建一个Sub以在按下按钮时从键盘获取用户输入:
Sub onButtonSelected()
print m.keyboard.textEditBox.text
End Sub
***请注意,键盘组件内置了TextEditBox,因此您无需在Scene.xml文件中手动添加它。
答案 1 :(得分:0)
没有&#34;标准输入&#34; Roku开发中的概念。虽然您的代码可以通过一些方式获取外部输入。
一个是如上所述@ U-Mitic - 使用来自遥控器的键盘输入的组件,如roKeyboardScreen
或KeyboardDialog
RSG节点等。
另一种方法是通过使用ECP(Roku的外部控制协议)在http外部发送此类信息 - / input或/ launch w / params