добавление обработчика событий закрытия и изменения документа FLA для панели расширения SWF. используя ActionScript, JSFL - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть расширение SWF-панели и список клипов mov ie текущего открытого документа. Я хочу очистить свой список, когда пользователь закрывает текущий документ. Кроме того, я хочу добавить предупреждение «Вы должны выбрать предыдущий документ, над которым вы работали» - когда пользователь выбирает другой открытый документ .fla и пытается нажать какую-то кнопку на панели SWF, чтобы отредактировать часть M C из список. Итак, я хочу знать, имеет ли Adobe Animate возможность прослушивать закрытие и изменение документов? спасибо за аванс за любые подсказки

1 Ответ

0 голосов
/ 24 апреля 2020

ответ от службы поддержки Adobe:

Да, такая возможность есть. Вы можете зарегистрировать функцию javascript, которая будет выполняться при возникновении определенного системного события:

enter code here fl.addEventListener (eventType, callbackFunction);

Возможные системные события: "documentNew" , «documentOpened», «documentClosed», «mouseMove», «documentChanged», «layerChanged», «timelineChanged», «frameChanged», «», «prePubli sh», «postPubli sh», «selectionChanged», и "dpiChanged".

Кроме того, в Fla sh CS4 и выше у вас есть возможность ссылаться на определенную панель SWF. В сочетании с классом ExternalInterface и методом MMExecute в AS вы можете создать двустороннюю связь между двумя средами.

Пример:

// JSFL

var docChangedID = fl.addEventListener( "documentChanged" , onDocumentChangedHandler );

function onDocumentChangedHandler(){

var panel = fl.getSwfPanel( "<my panel swf file name >", false ); panel.call( "AScustomEventName" );
}

// AS

import adobe.utils.MMExecute; import flash.external.ExternalInterface;

ExternalInterface.addCallback( "AScustomEventName", this.myASMethod );

function myASMethod() : void { // your stuff here
MMExecute( "some jsfl code or path to a jsfl script" );
}

...