Скрипт After Effects, кнопка, элемент, клик - PullRequest
0 голосов
/ 10 сентября 2018

Я написал код для простой кнопки - [onclick].Я хочу знать, что является правильным путем или почему это не работает так, как я это написал ??

function main(thisObj) {
    function windowCreate(thisObj) {

        var mainWindow = (thisObj instanceof Panel) ? thisObj : new 
        Window("palette", "", [100, 100, 300, 280]);//

        var groupOne = mainWindow.add ("group", [0,0,310,210], "Positions");
        groupOne.orientation = "row";

        Button1 = groupOne.add("button",[10,10,100,40],"P_0:0");


        return mainWindow;
    }

    var Window1 = windowCreate (thisObj);
    if ((Window1 != null) && (Window1 instanceof Window)) {
        Window1.center();
        Window1.show();
        }
    }
    main(this);
        }
    Button1.onclick = Click();

    function Click(){
            alert("Button 1 clicked");
        }

В этом коде, если я запускаю сценарий с последующими эффектами, нажатие кнопки выполняется автоматически в первый раз, а затем, когда я нажимаю на нее, ничего не происходит.Почему это не работает?

1 Ответ

0 голосов
/ 13 сентября 2018

Это работает:

function windowCreate() {
    mainWindow.groupOne = mainWindow.add ("group", [0,0,310,210], "Positions");
    mainWindow.groupOne.orientation = "row";

    mainWindow.Button1 = mainWindow.groupOne.add("button",[10,10,100,40],"P_0:0");
    mainWindow.Button1.onClick = function() { Click(); };
    return mainWindow;
}


function Click(){
    alert("Button 1 clicked");
}

var mainWindow = new Window("palette", "", [100, 100, 300, 280]);//
var Window1 = windowCreate();
if ((Window1 != null) && (Window1 instanceof Window)) {
Window1.center();
Window1.show();
}

Я использую CC 2014.

...