如何从我的swfpanel创建可以通过flash中的jsfl工具访问的变量?

时间:2014-03-07 18:05:32

标签: jsfl

我正在寻找创建一个工具,根据用户在以swfpanel形式创建的应用上指定的变量,将对象放置在舞台上。

我被困住了,我似乎无法让这两件物品相互沟通。

非常感谢您提供的任何帮助。

澄清:“工具”是指位于工具面板中的自定义JSFL工具。

它有一个附带的WindowSWF面板。当调整某些设置时,此工具将使用用户在其行为方式中选择的任何设置。所以我正在寻找的是使用自定义WindowSWF面板在工具面板中进行自定义工具。

1 个答案:

答案 0 :(得分:0)

我有一个工具可以根据您的要求做一些事情。在我的工具中,用户单击具有预定义变量的按钮,在这种情况下,是动画的电视指南,但它可以是动态的,以便用户通过使用列表或文本输入来决定按钮输入的内容。然后该按钮执行我在下面的脚本,该脚本从我的内容库导入SWF并将其放在舞台上。此内容不一定需要来自外部文件。它也可以来自Flash库。

此示例是单一用途且硬编码用于特定项目,但正如我所提到的,您可以在SWF面板中创建列表,并根据在该列表中选择的项目,将该变量作为字符串到JSFL脚本。我通常在执行此操作时将所有JSFL放在ActionScript类中,并使用MMExecute来执行JSFL。我这样做的原因是它更容易阅读,我可以看到我在这些变量中传递的位置。

var dom = fl.getDocumentDOM();

if (dom == null)
{
    alert('Please open a file.');
}
else
{
    var lib = dom.library;
    var file = fl.configURI + 'WindowSWF/ContentLibrary/TVGuide.swf';

    // Create a new layer and name it TV Guide
    dom.getTimeline().currentLayer = 0;
    dom.getTimeline().addNewLayer('TVGuide');

    //dom.getTimeline().setLayerProperty('name', 'TVGuide');

    // Import the TVGuide SWF
    dom.importSWF(file);

    //Lock the TVGuide Layer
    dom.getTimeline().setLayerProperty('locked', true);
}