最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

After Effects: Javascript - Undefined value used in the expression(Could be out of range array subscript) - Stack Overflow

programmeradmin0浏览0评论

I'm not a programmer by any means. I'm an animator trying to use JS expressions in After Effects. I'm getting an "Undefined value used in expression" error on line 1 where I define a variable.I already showed it to my friend on discord who is a cs major, and he had no clue what was wrong with it.

Here's just a paste of the code if you need it:

var count = 1;

if (framesToTime(time) % 12 == 0) {
count = count + 1

    if (count % 2 == 0){
        thisProperty = 95
    } else {
    thisProperty = 20
    };
} ;

I'm not a programmer by any means. I'm an animator trying to use JS expressions in After Effects. I'm getting an "Undefined value used in expression" error on line 1 where I define a variable.I already showed it to my friend on discord who is a cs major, and he had no clue what was wrong with it.

Here's just a paste of the code if you need it:

var count = 1;

if (framesToTime(time) % 12 == 0) {
count = count + 1

    if (count % 2 == 0){
        thisProperty = 95
    } else {
    thisProperty = 20
    };
} ;
Share Improve this question edited May 12, 2020 at 21:27 M A Salman 3,8202 gold badges13 silver badges27 bronze badges asked May 12, 2020 at 21:07 Henry FairbanksHenry Fairbanks 711 gold badge1 silver badge3 bronze badges 3
  • This part of your code framesToTime(time) is not defined, it references a function that's not defined in the snippet you posted here unless there are other parts to your code not here – dqve Commented May 12, 2020 at 21:15
  • @dqve framesToTime is afterEffect's inbuilt function.So no point of problem up there. – M A Salman Commented May 12, 2020 at 21:18
  • 1 I suspect it has something to do with "count declaration" – M A Salman Commented May 12, 2020 at 21:19
Add a ment  | 

4 Answers 4

Reset to default 2

Ok I don't know why the hell this fixed it, but I changed the name of the variable from "count" to just "x" and it works now. Go figure

Try it.

var count = 1;

if (framesToTime(time) % 12 == 0) {
    count = count + 1;

    if (count % 2 == 0){
        thisProperty = 95;
    } else {
       thisProperty = 20;
    }
}
thisProperty;

In your code, thisProperty has bee an ordinary variable. If you write its name at the end of the code, then its value will be assigned to the property.

In AE, if there is nothing inside an if statement or the if statement contains malformed/error code you will receive this error. Put a temp value inside the curly braces or something to process and ensure nothing inside will throw an error.

I also received this error with this:

pastTime = timeToFrames(time)-1;
curPos = transform.xPosition;
pastPos = transform.xPosition.valueAtTime(framesToTime(pastTime));

if (curPos-pastPos[0] != 0) {

// Here is the problem in my case. added a value here 99 to fix until finished testing.

}
else {
        effect("Angle Control")("Angle")
}

if/else statements are strict

  • The syntax for if/else statements is strict in the JavaScript engine and need to be written for standardized JavaScript.

    https://helpx.adobe./after-effects/using/expression-language-reference.html*

I got this error because there was a missing semicolon.

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论