PDA

Просмотр полной версии : JSFL - различия для версий ActionScript


Котяра
18.06.2009, 18:14
Озадачился написанием небольшого скриптика:
нужно
1) открыть папку с png,
2) создать fla файл и экспортировать все картинки в библиотеку.
3 )После этого залинковать их и назначить базовый класс flash.display.BitmapData

var inputFolder = fl.browseForFolderURL("select", "Import Path");

doc:document = null;
doc = fl.createDocument();
images = FLfile.listFolder( inputFolder+"/"+"*.png", "files");
library:library = doc.library;
library.newFolder("IMAGES");
for(var i = 0; i < images.length; i++) {
doc.importFile(inputFolder+"/"+images[i], true );

fl.trace(library.items[i+1].name);
library.selectItem( images[i] );

// вот тут начинаются проблемы
// Выскакивает ошибка, что первый аргумент в setItemProperty неверный.
// складывается впечатление, что в as3 это делается как-то по-другому)))


//library.setItemProperty("linkageExportForAS", true);
//library.setItemProperty("linkageExportInFirstFrame", true);
// library.setItemProperty("linkageBaseClass", "flash.display.BitmapData" );


library.renameItem( images[i] );
library.moveToFolder( "IMAGES" );
}

Подскажите как для as3 fla делать линкование?

kup
19.06.2009, 05:10
Хорошая штука кстати, полезная. Спасибо. :)

var inputFolder = fl.browseForFolderURL("select", "Import Path");

doc:document = null;
doc = fl.createDocument();
images = FLfile.listFolder( inputFolder+"/"+"*.png", "files");
library:library = doc.library;
library.newFolder("IMAGES");
for(var i = 0; i < images.length; i++) {
doc.importFile(inputFolder+"/"+images[i], true );

fl.trace(library.items[i+1].name);
library.selectItem( images[i] );

// вот тут начинаются проблемы
// Выскакивает ошибка, что первый аргумент в setItemProperty неверный.
// складывается впечатление, что в as3 это делается как-то по-другому)))


library.setItemProperty("linkageExportForAS", "true");
library.setItemProperty("linkageExportInFirstFrame", "true");
library.setItemProperty("linkageBaseClass", "flash.display.BitmapData" );


library.renameItem( images[i] );
library.moveToFolder( "IMAGES" );
}

Котяра
19.06.2009, 12:26
Хорошая штука кстати, полезная. Спасибо. :)

Что работает? У меня на CS3 не работает((((

At line 19 of file ..\JSFL_Scripts\ImgToSWF.jsfl":
setItemProperty: Argument number 1 is invalid.

кавычки ставил. но не в них дело. неизвестен 1 аргумент.



Поставил CS4 - всё заработало - видимо у меня глюгнутая версия cs3 стоит.

окончательная версия скриптика
var inputFolder = fl.browseForFolderURL("select", "Import Path");

doc:document = null;
doc = fl.createDocument();
images = FLfile.listFolder( inputFolder+"/"+"*.png", "files");
library:library = doc.library;
library.newFolder("IMAGES");
for(var i = 0; i < images.length; i++) {
doc.importFile(inputFolder+"/"+images[i], true );


library.selectItem( images[i] );
var itemName = images[i].split(".")[0];
library.renameItem( itemName );

fl.getDocumentDOM().library.items[i+1].linkageExportForAS = true;
fl.getDocumentDOM().library.items[i+1].linkageExportInFirstFrame = true;
fl.getDocumentDOM().library.items[i+1]["linkageBaseClass"]="flash.display.BitmapData";

library.moveToFolder( "IMAGES" );
}
fl.saveDocumentAs(doc);
doc.exportSWF("", true);

dimarik
25.08.2009, 17:56
http://groups.google.ru/group/ruflash/browse_thread/thread/30a45efc0b2c9dcf?hl=ru

Котяра
26.08.2009, 16:24
http://groups.google.ru/group/ruflash/browse_thread/thread/30a45efc0b2c9dcf?hl=ru
что-то там нехорошее написано..
item.linkageExportForRS = true;
item.linkageExportForAS = undefined;
item.linkageExportInFirstFrame = false;
это мне не надо))))
А в общем, по моему скрипту, - походу глюк в CS3, в CS4 - работает

dimarik
26.08.2009, 20:34
У меня получилось только с переходом на CS4