Преобразование нескольких фигур и групп в видеоклипы / символы в 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 часа поиска просто не хватает

Другие вопросы по тегам