我正在尝试编写一个脚本,将
final_text
逐个字母地写入 Text Layer
,在每个字母写入之间等待一小段时间。有什么办法可以做到吗?
final_text = '#a80030';
characters = '';
for(i = 0; i < final_text.length; i++){
characters += final_text[i];
text.sourceText += characters;
#sleep for 500ms
}
您混淆了脚本和表达式。
$.sleep
是脚本中全局对象的方法,但在表达式中不是。在表达式中使用它是没有意义的,因为它只会使表达式需要更长的时间来计算。您需要阅读手册。
TL;博士: 创建一个文本图层,其中包含最终文本。您还可以在图层的文本源属性上使用表达式。将不透明文本动画器(您确实阅读了手册不是吗?)应用于图层。将动画师的不透明度设置为零。添加表达式选择器并删除普通选择器。
将此表达式应用于选择器:
(time*2 < textIndex)? 100 : 0
这使用字符索引与当前时间 * 2 进行比较(时间以秒为单位),因此每 500 毫秒设置为零不透明度(选择 100%)的字母索引将递增。
是的,有
$.sleep()
方法。
所以你需要做的就是
$.sleep(500);
嗯,我刚刚启动了一个脚本,它可以完全满足您的要求,这里有一个关于如何使用 PlayPauseRepeat 的快速教程:
https://youtu.be/1lmLQwsyvyY?si=lF99IXQ3d1eUP4Ct
下载链接在视频说明中!
希望你喜欢!如果您这样做,请通过分享、评论或捐赠来支持。
谢谢! 昂