【问题标题】:After effects scripting button element onclick后效脚本按钮元素 onclick
【发布时间】:2018-09-10 18:48:04
【问题描述】:

我为一个简单的按钮编写了一些代码 - [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");
        }

在这段代码中,如果我在 after effects 中运行脚本,按钮单击第一次会自动执行,然后当我单击它时它什么也不做。为什么这不起作用?

【问题讨论】:

  • 我不知道后效脚本,但由于它的 javascript,我认为错误在于,当您分配 Click() 函数时,您使用括号,所以它就像调用函数而不是分配它。你应该这样做Button1.onClick = Click;可能
  • 那么如果我想添加一个必须带一些参数的 button.onclick 函数怎么办?像 button1.onClick = Click(x,y,) this .
  • 无论如何,首先应该在函数声明中声明参数。 function Click(parameters...) 。现在例如在浏览器环境中,您可以将事件对象声明为参数:function Click(event),并且从事件中您可以访问鼠标的 x、y 坐标、被点击的元素等。现在在你的情况下,我不知道你需要做什么,所以我无法提出建议。

标签: javascript scripting onclick after-effects


【解决方案1】:

这行得通:

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。

【讨论】:

  • 谢谢。看来我们必须在 button.onClick() = function(){ "here" someFunction(); }
猜你喜欢
  • 2014-07-23
  • 2014-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-27
  • 1970-01-01
  • 2021-01-10
  • 1970-01-01
相关资源
最近更新 更多