问题标签 [jsfl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flash - JSFL fl.saveDocumentAs();
我正在编写一个 JSFL 脚本,它可以调整 flas 的大小并保存各种版本,并附加名称。
我可以使用 fl.saveDocumentAs(); 弹出“另存为”提示;
但我似乎无法让 Flash 为 FLA 生成一个新名称。
我只想将“document.fla”保存为“document_foo.fla”,(以及后来的“document_qux.fla”),最好不要用“另存为”提示中断脚本。
flash - 使用 JSFL 获取舞台上选定项目的名称
我希望能够选择已在 Flash 中添加到舞台的项目(图像、影片剪辑等)并访问其文件名。
因此,如果我将名为“imageOne.png”的图像拖到舞台上,我希望能够访问其名称“imageOne.png”,并将其传递给我正在构建的 Flash 扩展。
我知道我可以从图书馆获得详细信息,但不能从舞台上选择的项目中获得。
谁能告诉我如何使用 JSFL 访问这些信息。
谢谢
斯蒂芬
actionscript-3 - 如何在 JSFL 中获得符号的描边边界?
actionscript 中的 DisplayObject.getBounds 返回包含笔划的对象的边界。JSFL 中 SymbolInstance 的 left、top、width、height 属性似乎不包括笔划。这是我发现从 JSFL 获取符号边界的唯一方法。还有其他方法吗?
flash-cs5 - 在 ExtendScript for Flash CS5 中调试 jsfl
这完全是一个菜鸟问题,但我试图弄清楚如何调试我创建的一些 JSFL,当代码在 Flash CS5 文件上运行时逐步执行。ExtendScript 中的 DEBUG 菜单下拉菜单“运行”已灰显...
如果我双击该文件,它将在 Flash 中运行,并且输出显示在“输出”选项卡中。但我想在调试模式下单步执行我的代码,并在针对当前打开的 Flash 文件执行时观察变量的值。
这可能吗?有没有其他方法可以做到这一点?
提前致谢!
flash - 批量图像修剪
我有一个包含大量图像的 Flash fla 文件。每个图像的大部分由透明像素组成,其中某处有一个视觉对象。此时的每张图像都位于 {x:0, y:0}。
我想将图像的透明像素修剪到最小边界框,但将对象保持在相同的全局位置。这需要将修剪后的图像移动到未修剪图像中对象的全局位置。
这不是什么大问题,但图像都包含在 fla 中的事实是问题所在。我目前看到的选项是:
调查 JSFL,Bitmap 对象有一个 getPixels,这结合选择和删除操作可以工作
将 fla 保存到 xfl 并使用 Ruby + 图像处理库之类的东西枚举图像和关联的 xml
问题:
- 有谁知道在 JSFL 中是否可以进行此操作?
- 有没有人对 xfl 文件进行过很多自动化处理?
- 是否有现成的图像处理器可以执行此修剪操作?
jsfl - JSFL:选择 fl.findObjectInDocByType() 返回的项目
我似乎无法使用fl.findObjectInDocByType()
with返回的信息fl.getDocumentDOM().selection
。
我想用来document.setTextRectangle
从使用生成的数组中重新调整一些文本字段的大小fl.findObjectInDocByType()
。
我可以轻松访问所有 textObject 属性,但由于document.setTextRectangle
需要当前选择,我不知所措。
设置选择的文档中的示例是:
fl.findObjectInDocByType()
返回具有以下属性的对象数组: ( object.timeline
, object.layer
, object.frame
, object.parent
)
但这些是对象,没有fl.getDocumentDOM().selection=
...所需的数组索引号属性
结果:Error:doc.getTimeline().theLayer has no properties
flash - JSFL 导出“指南”动画
我需要将 FLA 中的时间线动画转换为 AS3 代码(可能通过 XML)。问题是实际上有数百层和数千帧。
虽然我了解 JSFL 的结构,但我无法通过循环进入时间轴->图层->帧来找到“指南”动画。使用 curFrame.isMotionObject() 总是错误的。
这是我正在尝试做的一个示例:
jsfl - fl.componentsPanel.addItemToDocument + AS3 + CS5 = IDE 崩溃
无论如何,我正在开发一个非常大规模的 JSFL 系统。它有超过 2,000 行代码(未压缩)。
在我的应用程序中,我有一行代码如下所示:
你可以发现这条线是动态创建组件并将它们注入到舞台上的指定位置。
当我创建 4-5 个组件(使用 for 循环)时,这一行使我的 flash CS5.5/CS5 IDE 几乎崩溃。我的 flash 几乎卡住了一分钟,但公平地说,只有当我只在 AS3 文档上运行我的代码时。
我提出了执行时间的时间测量:AS2
文档
中的 4 个组件:0.49 秒AS3文档
中的 4 个组件:61.422 秒
注意:当我执行所有 2,000 多行代码但我在注释中输入的那一行时,JSFL 执行时间在文档的 AS2和AS3 版本中不到 1 秒。
有谁知道为什么这行代码有如此邪恶的行为?
flash-cs5 - 在 ActionScript 文件中使用 JavaScript API 命令
我是 actionscript 和 jsfl 编程的新手。我正在使用 Adobe Flash Professional CS5.5 和 windows 7 操作系统。我正在尝试使用 MMExecute() 函数在我的 .as 文件中执行 Javascript API 命令。发布 swf 文件时,“MMExecute”语句之前和之后的语句正在执行,但我在 MMExecute 函数中使用的 Javascript 命令字符串似乎没有执行。我正在使用一个基本的 JSFL 命令来跟踪到闪存中的输出窗口。此外,我将 swf 文件发布到 Configuration 文件夹中的 WindowsSwf 文件夹。我拥有的 fla 文件是一个空白文件,没有添加任何内容,我使用的代码如下。
请帮帮我。提前致谢。
windows - JSFL:FLfile.runCommandLine & 为 Windows 命令行参数正确转义空格
我正在开发一个 JSFL 脚本,它将导出 WAV 文件并使用 lame.exe 通过 FLfile.runCommandLine 将它们编码为 MP3。我不知道如何正确转义命令行中的空格以使其正常工作。
结果在命令窗口:
'C:\pathWithSpaces' 不是内部或外部命令、可运行程序或批处理文件。
我试过用'%20'和carrat-space'^'替换空格,都失败了。var command_line 在手动剪切并粘贴到命令窗口时经过验证可以正常工作,只有在 JSFL 脚本中运行表单时,空格似乎才是问题。
(简单地从环境中的任何路径中删除空格不是一种选择。命令行变量是动态生成的,并且必须能够处理空格才能对其他人有用。)