Как написать глобальную функцию в brightscript?

Я работаю в приложении Roku Scene Graph, я хочу написать глобальную пользовательскую функцию, которую можно использовать и вызывать в любом месте моего приложения. есть ли способ? Пожалуйста, предложите.

3 ответа

Глобальный скрипт функции должен быть включен в каждый файл XML, где бы вы ни хотели его использовать.

шаги:

  1. Создать файл BRS в /source называется globalFunction.brs (или любое другое имя, которое вы выберете), и напишите все глобальные функции там.

  2. В каждый файл 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 в качестве поля на Глобальном узле (или любом другом узле в этом отношении).

Другие вопросы по тегам