是否可以在javascript中的数组内部调用变量?

问题描述

我在After Effects中有两个变量,它们获取名为“ Desk”的图层的X和Y位置值…

var posH = app.project.activeItem.layer("Desk ").transform.position[0];
var posV = app.project.activeItem.layer("Desk ").transform.position[1];

我有一些代码,其中包含一个数组,该数组需要采用这些变量并将其添加到变量中,但是我不确定语法是否正确……[posH+390.5,posV+218.5]

我知道加法本身就可以工作,例如,如果我只做[1000+390.5,1000+218.5],那么它就可以工作。我只需要它来处理变量。

编辑––––

我已经对其进行了单独测试,并且可以正常工作,所以也许该错误与它处于循环状态有关?完整的代码在这里... https://pastebin.com/XfeUaqb8,您可以在第11行和第12行看到变量,并在第24行通过数组对其进行即时测试。

此脚本将根据图层名称定位图层。最初,我所有的AE补偿都是4000x4000,但现在有些大小不同,因此无论AE补偿的大小或裁剪方式如何,我都需要对其进行修改并使用另一层作为恒定参考点。

我可以很好地将其作为AE表达式...

posH = thisComp.layer("Desk ").transform.position[0]+390.5;
posV = thisComp.layer("Desk ").transform.position[1]+218.5;
[posH,posV]

但是显然我需要它作为脚本,以便以后可以根据需要移动字符位置,而不必跳回到表达式确定的值。

解决方法

如果我理解正确,那么您要做的就是posH += 390.5,这将为posH变量添加390.5。

因此,我们是否要这样做:

var posH = 10;
posH += 10;

如果我们现在打印posH,它将返回20。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...