Last active
August 29, 2015 13:56
-
-
Save lynxerzhang/9243857 to your computer and use it in GitHub Desktop.
find library asset by linkage class name (根据输入的链接类名寻找库中是否存在指定资源)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var doc = fl.getDocumentDOM(); | |
var library = null; | |
var items = null; | |
var itemLen = null; | |
var item = null; | |
run(); | |
function run() | |
{ | |
if(!checkDocument()){ | |
return; | |
} | |
var findClassName = prompt("enter class name you want to search in library", ""); | |
if(!findClassName || findClassName == ""){ | |
return; | |
} | |
findClassName = findClassName.replace(/^\s+|\s+$/g, ""); | |
//findClassName = findClassName.toLowerCase(); //maybe you need classname is case-insensitive. | |
library = doc.library; | |
items = library.items; | |
itemLen = items.length; | |
item = null; | |
searchItemByClassName(findClassName); | |
} | |
function checkDocument() | |
{ | |
if(!doc){ | |
alert("must open a .fla file."); | |
return false; | |
} | |
return true; | |
} | |
function searchItemByClassName(className, caseSensitive) | |
{ | |
var foundItem = null; | |
var linkClassName = null; | |
if(caseSensitive == void(0)){ | |
//void(0) just same as undefined | |
caseSensitive = true; | |
} | |
for(var i = 0; i < itemLen; i ++){ | |
item = items[i]; | |
if(item){ | |
if(item.linkageExportInFirstFrame && item.linkageExportForAS){ | |
linkClassName = item.linkageClassName; | |
if(!caseSensitive){ | |
linkClassName = linkClassName.toLowerCase(); | |
} | |
if(linkClassName == className){ | |
foundItem = item; | |
break; | |
} | |
} | |
} | |
} | |
if(foundItem){ | |
fl.trace("instance is founded:>>" + item.name); | |
var name = item.name; | |
var index = name.lastIndexOf("/"); | |
if(index != -1){ | |
var folderName = name.slice(0, index); | |
//fl.trace(folderName); | |
//could not open or close folder in flashcs6, but not test in cs5 or cs5.5 | |
var expand = library.expandFolder(true, true, folderName); | |
//fl.trace(expand); | |
} | |
library.selectItem(item.name, true, true); | |
//add a instance to stage at stage point(10,10) | |
library.addItemToDocument({"x":10, "y":10}, item.name); | |
} | |
else{ | |
fl.trace("not founded class name in library:>>" + className); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment