Преобразование нескольких фигур и групп в видеоклипы / символы в Flash CS5
Я искал в Интернете около 2 часов, сейчас ищу расширение (MXP) или сценарий JSFL, чтобы помочь мне преобразовать 300+ фигуры, которые у меня есть на сцене, в символы. Имена не имеют значения, это могут быть symbol_001, 002 и т. Д. Кажется, это такая распространенная задача, что я удивлен, что никто еще не спрашивал о stackru или даже в actionscript.org.
Я сталкивался с этим, но это было не то, что мне было нужно... Он делал только один символ за раз...: http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1848523
Хотя этот делает то, что я хочу, но для растровых изображений, и только те, которые в библиотеке. http://benclinkinbeard.com/2006/07/flash-extension-convert-bitmaps-to-symbols/
Пожалуйста помоги!
1 ответ
Во-первых, эти 300+ фигур на одной временной шкале и в кадре? во-вторых, сгруппированы ли эти фигуры?
var el = fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements;
for(var i = 0; i<el.length; i++)
{
fl.trace(i+" - " + el[i]);
}
это будет перечислять все элементы (включая фигуры) на временной шкале первого слоя в первом кадре.
Теперь не сгруппированные фигуры будут обрабатываться как отдельные фигуры, прямоугольник или овальные примитивы будут разделены.
Это документация об объекте Element и документ об этом объекте Shape.
Ниже приведен пример рабочего примера. Я использовал модифицированный метод convertToGraphics, найденный здесь:
var el = fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements;
for(var i = 0; i<el.length; i++)
{
fl.trace(i+" - " + el[i]+", "+el[i].isGroup);
convertToGraphics(el[i], "shape"+i);
}
//converts all current elements on the current timeline to movie clips with a effectSymbols move to Effect folder in the library and center registration point
function convertToGraphics(el, name)
{
try
{
var symbolName = name;
var cur_lib = fl.getDocumentDOM().library;
fl.getDocumentDOM().selectNone();
fl.getDocumentDOM().selection = [el];
while(cur_lib.itemExists(symbolName+i))
symbolName=symbolName+1;
var newSym = fl.getDocumentDOM().convertToSymbol("movie clip", symbolName+i, "center");
}
catch (e)
{
fl.trace("Exception in : convertToGraphics" + e);
}
}
с уважением
ps 2 часа поиска просто не хватает