在我们的管道中,我们最终使用Toolkit for CreateJS发布HTML5。然而,让我们进入HTML5的步骤之一包括发布输出一些Javascript代码的SWF。我主要使用JSFL设法自动执行此操作。然而,目前我们的艺术家必须在时间轴上找到一行AS3并手动更改,但它会中断他们的工作流程,如果他们错过它或搞砸了它很难捕捉,所以我想自动化它也是:
Object(root).log.text += " root.skillAnime189 = factory();\n";
从上面可以看出,“skillAnime189.fla”是包含此代码的.fla文件的名称。如果艺术家正在使用技能动画#189,则会出现这种情况,但如果他正在执行#304或#6或#1022(无填充),则数字会相应更改,并且他必须相应地更新该行。
所以,我想将这一行更改为:
var flaName:String = getThisFlashFileName().split(".")[0];
Object(root).log.text += " root." + flaName + " = factory();\n";
但我不知道如何访问包含代码的.fla文件的名称。
答案 0 :(得分:1)
获取swf名称的常用方法是解析stage.loaderInfo.url
参数:
var url:String = stage.loaderInfo.url;
url = url.split("?")[0]; //remove query string after "?"
var swfname:String = url.substring(url.lastIndexOf("/")+1);
trace(swfname);
输出:
astest.swf
但是这段代码只提供swf
,而不是fla
,因此您需要为flas
维护相同的名称并发布swfs
(任何情况下通常都是同样,所以不应该是问题)