【问题标题】:Flash JSFL, how to replace/update a bitmap item with a image file with different nameFlash JSFL,如何用不同名称的图像文件替换/更新位图项
【发布时间】:2015-02-17 06:14:50
【问题描述】:

我有很多 FLA。对于每个 fla,我需要用本地图像文件替换一些图像。这些本地图像文件与原始导入的文件名称不同。

我知道可以手动完成:右键单击库中的项目 -> 属性 -> 导入。

但是,FLA 太多,图像也太多。一旦某些 FLA 发生变化,我需要一次又一次地进行替换。所以,我打算写一个 jsfl 来做这个重复的任务。我可以使用地图(itemName->replaceingFileUri)配置替换。但是,我不知道如何使用 jsfl 重新导入图像。

我试过这个:

var itemName = 'name of the item to be replaced';
var imageFileUri = 'uri of the replacing local image file';
var lib = fl.getDocumentDOM().library;
lib.selectItem(itemName);
var item = lib.getSelectedItems()[0];
item.sourceFilePath = imageFileUri; // this do not work
lib.setItemProperty('sourceFilePath', imageFileUri); // this do not work too
lib.updateItem(item.name);

【问题讨论】:

    标签: flash jsfl


    【解决方案1】:

    你应该尝试用导入的项目替换存在于库中的项目 在此示例中,您在 IDE 的子文件夹中选择一些 img,然后运行脚本并选择要导入的外部图像,然后它们将被替换。

    var doc = fl.getDocumentDOM();
    var lib = doc.library;
    var item = lib.getSelectedItems()[0];
    re = /(.*)(\/)(.*$)/;
    var itemstr = re.exec( item.name );
    var cname = itemstr[3];
    var cpath = itemstr[1];
    
    var fileURL = fl.browseForFileURL("select"); 
    re = /(.*\/)(.*$)/;
    var filestr = re.exec( fileURL);
    doc.importFile(fileURL, true);
    lib.selectItem( filestr[2] );
    lib.renameItem( cname );
    lib.moveToFolder( cpath, cname,  true )
    

    【讨论】:

      猜你喜欢
      • 2013-12-01
      • 1970-01-01
      • 2021-12-26
      • 2017-04-21
      • 2023-03-10
      • 2012-11-09
      • 1970-01-01
      • 2020-09-10
      • 1970-01-01
      相关资源
      最近更新 更多