有一段时间没有正式记录博客,现在有点空闲可以记录我最近所做的一些事情。我在一个老项目里面,经常需要在flash 修改元件名字,然后 又一个又一个选择元件查询出我的名字记录在代码哪里去。于是我找到JSFL 一个比较有意思的脚本可以帮助我去完成这件事情。 首先我还是需要元件定义好,然后进行全选择,输出我想要的定义即可。
好, 看看下面的脚本是如何完成的。这段脚本是我一个业界认识的朋友即兴写的,我感觉挺好的,现在分享给大家用一下。我把他整合到jsfl 的工具哪里去,所以有时候也挺方便我使用习惯。
看下面的图片:可以输出我想要的名字了,是不是很爽呢?
针对的问题:重复去点击元件 然后复制里面的名字这个操作写的一个简化流程的小脚本。下面的脚本代码都可以在帮助文档找到。有需要就可以拿来玩玩。
var doc = fl.getDocumentDOM();
main();
function main()
{
clearOutput();
//selectAll();
extractCode();
}
function clearOutput()
{
fl.outputPanel.clear();
}
function selectAll()
{
doc.selectAll();
}
function extractCode()
{
extractMovieClip();
extractSimpleButton();
extractTextField();
}
function extractMovieClip()
{
var selection = doc.selection;
var len = selection.length;
for(var i = 0; i < len; i++)
{
var selectItem = selection[i];
if(selectItem.elementType == "instance" && selectItem.name != "")
{
if(selectItem.libraryItem != null && selectItem.libraryItem.itemType == "movie clip")
{
fl.outputPanel.trace("public var " + selectItem.name + ":MovieClip;");
}
}
}
fl.outputPanel.trace("");
}
function extractSimpleButton()
{
var selection = doc.selection;
var len = selection.length;
for(var i = 0; i < len; i++)
{
var selectItem = selection[i];
if(selectItem.elementType == "instance" && selectItem.name != "")
{
if(selectItem.libraryItem != null && selectItem.libraryItem.itemType == "button")
{
fl.outputPanel.trace("public var " + selectItem.name + ":SimpleButton;");
}
}
}
fl.outputPanel.trace("");
}
function extractTextField()
{
var selection = doc.selection;
var len = selection.length;
for(var i = 0; i < len; i++)
{
var selectItem = selection[i];
if(selectItem.elementType == "text" && selectItem.name != "")
{
fl.outputPanel.trace("public var " + selectItem.name + ":TextField;");
}
}
}