0

我有一个扩展 SWF 面板和一个当前打开文档的影片剪辑列表。当用户关闭当前文档时,我想清除我的列表。另外,我想添加一些警告“您必须选择您正在处理的上一个文档” - 当用户选择其他打开的 .fla 文档并尝试按下 SWF 面板上的某个按钮以从列表中编辑某些 MC 时。所以我想知道 Adob​​e Animate 是否有能力收听文档的关闭和更改?感谢您提前提供任何提示

4

1 回答 1

1

来自 adobe 社区支持的回答:

是的,有这种可能。您可以注册一个 javascript 函数以在某些系统事件发生时执行:

enter code herefl.addEventListener(eventType, callbackFunction);

可能的系统事件有:“documentNew”、“documentOpened”、“documentClosed”、“mouseMove”、“documentChanged”、“layerChanged”、“timelineChanged”、“frameChanged”、“”、“prePublish”、“postPublish”、“ selectionChanged”和“dpiChanged”。

此外,在 Flash CS4 及更高版本中,您可以引用特定的 swf 面板。结合 AS 中的 ExternalInterface 类和 MMExecute 方法,可以构建两个环境之间的双向通信。

例子:

// JSFL

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

function onDocumentChangedHandler(){

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

// 作为

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" );
}

于 2020-04-24T19:34:38.113 回答