Автоматический импорт / переименование Flash-ресурсов - PullRequest
0 голосов
/ 17 мая 2011

Итак, у меня есть проект флэш-памяти AS3 с МНОГО активов, в настоящее время примерно 1000, но может увеличиться до нескольких тысяч позже. Все они являются изображениями, но половина из них - это анимированные GIF-изображения, поэтому я не могу импортировать их во время выполнения. Я подумал о том, чтобы просто перетащить их в проект Flash, но, похоже, я не контролирую схему именования. По сути, я хочу знать:

Есть ли способ автоматизировать импорт и переименование флэш-ресурсов, например «Импортировать эти 1000 файлов и экспортировать их для ActionScript с этим именем»?

Кроме того, есть ли лучший способ для меня это сделать? Я пробовал http://code.google.com/p/as3gif/ AS3GIF, но он борется с большими анимированными гифками, такими как те, с которыми я работаю (650x450). Любая помощь будет оценена.

Ответы [ 2 ]

2 голосов
/ 17 мая 2011

Jsfl твой друг. Jsfl - это язык сценариев Flash IDE, вы можете многое автоматизировать, например, переименовать все lib clip:

function main()
{
    var DOM = fl.getDocumentDOM();
    var lib = DOM.library.getSelectedItems();

    searchedClip = prompt("Search in clip name :");
    if(searchedClip == null) return;

    replaceClip = prompt("Replace by :");
    if(replaceClip == null) return;

    fl.outputPanel.clear();

    nbRes = 0;
    for(var i =0; i < lib.length; ++i)
    {
        name = lib[i].name.split("/");
        name = name[name.length-1];
        nIndex = name.toUpperCase().indexOf(searchedClip.toUpperCase());
        if(nIndex != -1)
        {
            ++nbRes;
            fl.trace(lib[i].name);
            lib[i].name = name.substring(0,nIndex) + replaceClip + name.substring(nIndex+searchedClip.length);
        }
    }
    if(nbRes) fl.trace("\n"+nbRes+" results");
    else fl.trace("no result");
}
main();

Посмотрите документ Flash IDE (http://livedocs.adobe.com/flash/9.0/main/flash_cs3_extending.pdf для версии CS3 Flash IDE)

0 голосов
/ 17 мая 2011

Если я правильно помню, если все изображения названы как "image0", "image1" и т. Д., Когда вы добавляете первое изображение во Flash, оно скажет что-то вроде: "Это выглядит как часть последовательность, вы хотите импортировать их все? " Это займет немного времени, хотя. Как только они войдут, вы можете нажать и удерживать клавишу Shift, чтобы выбрать их все, чтобы присвоить им экспортное имя (если вы не хотите его менять, вы можете сохранить их имя, и оно должно быть в порядке).

Почему вы не можете загрузить их снова во время выполнения? Играет ли Flash даже анимированные картинки, так ли это важно? Экспорт SWF-файла с таким количеством изображений убьет вашу производительность и, возможно, ваш компьютер (Flash становится немного нестабильным, когда размер файла становится огромным). Ожидание загрузки этого SWF на клиентской стороне было бы убийцей Особенно, если ваши клиенты не будут смотреть на все изображения - вы выбрасываете здесь МБ пропускной способности.

Я бы либо загружал их во время выполнения (идеально - загрузка сжатого XML-файла намного быстрее и проще), либо, если бы они были абсолютно обязательными, я бы разбил их на кратные.

...