Как написать глобальную функцию в brightscript?
Я работаю в приложении Roku Scene Graph, я хочу написать глобальную пользовательскую функцию, которую можно использовать и вызывать в любом месте моего приложения. есть ли способ? Пожалуйста, предложите.
3 ответа
Глобальный скрипт функции должен быть включен в каждый файл XML, где бы вы ни хотели его использовать.
шаги:
Создать файл BRS в
/source
называетсяglobalFunction.brs
(или любое другое имя, которое вы выберете), и напишите все глобальные функции там.В каждый файл XML (пользовательский экран, элемент макета и т. Д.) Включайте скрипт после
<interface/>
и до<children/>
с:
<script type="text/brightscript" uri="pkg:/source/globalFunction.brs" />
В зависимости от размера и цели этого globalFunction.brs
в другом ответе можно переместить все функциональные возможности в так называемую "длительную задачу" и использовать функции интерфейса. Оттуда используйте:
m.referenceToTask.callFunc("myFunc",
{param1 : parmvalue1,
param2 : parmvalue2})
Это добавляет ~2ms-ish к времени, которое требуется для выполнения работы. Может стоит, а может и нет. YMMV:)
Я рекомендую создать базовый компонент, из которого будут расширены все остальные компоненты. Включите сценарии, содержащие функции, которые вы хотите использовать в этом компоненте.
Вы можете создать AA, и каждый ключ должен соответствовать функции. Вы не можете установить этот AA в качестве поля на Глобальном узле (или любом другом узле в этом отношении).