以编程方式更改After Effects中TextLayer的文本

时间:2008-09-16 04:44:16

标签: javascript after-effects

我正在使用After Effects CS3 Javascript API动态创建和更改合成中的文本图层。

或者至少我正在尝试,因为我似乎无法找到正确的属性来更改以更改TextLayer对象的实际文本。

4 个答案:

答案 0 :(得分:3)

嗯,下次必须更加努力地阅读文档。

var theComposition = app.project.item(1);
var theTextLayer = theComposition.layers[1];
theTextLayer.property("Source Text").setValue("This text is from code");

答案 1 :(得分:2)

我不是After Effects的专家,但我已经搞砸了它。我认为reading this可能会帮助你。

答案 2 :(得分:1)

这就是我改变文字的方式。



var comp = app.project.item(23);
var layer = comp.layer('some_layer_name');
var textProp = layer.property("Source Text");
var textDocument = textProp.value;

textDocument.text = "This is the new text";
textProp.setValue(textDocument);




答案 3 :(得分:0)

我为自己编写了一个简单的函数来更改属性。在这里:

function change_prop(prop, name, value){
    var doc = prop.value;

    doc[name] = value;
    prop.setValue(doc);

    return prop;
}

示例用法:

// Changing source text
change_prop(text_layer.property("Source Text"), "text", "That's the source text");

// Changing font size
change_prop(text_layer.property("ADBE Text Properties").property("ADBE Text Document"), "fontSize", 10)