Extendscript将unicode字符解析为文本层

时间:2016-02-24 19:27:47

标签: unicode extendscript after-effects

我试图编写一个脚本,将一组字符解析为After Effects中文本图层的后续关键帧。一切正常。只有我想将功能更改为读取unicode而不是普通文本。

这是我的剧本代码:

var textLayer = currentComp.layers.addText("test");
        textLayer.name = "score";
        textLayer.position.setValue([50,500]);

        //Chose the txt with the array
        var myFile = File.openDialog("Navigate to keyframe file.");
        myFile.open("r");

        var myLine = myFile.readln();
        var keyValues = myLine.split(",")

        var prop1 = app.project.item(1).layer(1).property("ADBE Text Properties").property("ADBE Text Document");

        var arrayLength = keyValues.length;

    //Keyframe Loop
    app.beginUndoGroup("Keys");

        for(var i=0; i<arrayLength; i++){
        prop1.setValueAtTime([i]/25,keyValues[i]);
        }
    app.endUndoGroup();

这是我试图解析的字符串:

\u5c07,\u63a2,\u8a0e,\u53ca,\u5176,\u4ed6

这些都是unicode字符。

1 个答案:

答案 0 :(得分:1)

我用你的代码玩了一下。我也无法从文件中读取unicode字符。有效的是以JSON格式存储数据并解析它。 (在这里获取解析器https://github.com/douglascrockford/JSON-js) 请参阅下面的修改后的代码

这是JSON的数据

 <div class="mainContainer">
 <div data-ng-include="{{navBarType}}" >
 </div>

这是修改过的脚本

["\u5c07","\u63a2","\u8a0e","\u53ca","\u5176","\u4ed6"]