[AE脚本]给ui快速添加右键菜单


粗略演示


这是代码


function ringhtClickMenu(container, window) {
    if (container.orientation === stack) {
        window.addEventListener(blur, function (event) {
            window.hide();
        });
        container.addEventListener(mouseup, function (event) {
            if (event.button === 2 && event.detail === 1) {
                window.frameLocation = [event.screenX, event.screenY];
                window.show();
            }
        });
    } else if (container.orientation === row || undefined) {
        container.orientation = stack;
        ringhtClickMenu(container, window);
    } else {
        return alert(已设置orientation,请单独打组,再把orientation设置为stack, + \n + 再监听组.);
    }
}

function myMenu() {
    var $win = new Window(palette, undefined, undefined, { borderless: true });
    var button1 = $win.add(button, undefined, 1);
    var button2 = $win.add(button, undefined, 2);
    var button3 = $win.add(button, undefined, 3);
    var button4 = $win.add(button, undefined, 4);
    button1.onClick = function () {
        $win.hide();
        alert(1);
    };
    button2.onClick = function () {
        $win.hide();
        alert(2);
    };
    button3.onClick = function () {
        $win.hide();
        alert(3);
    };
    button4.onClick = function () {
        $win.hide();
        alert(4);
    };
    return $win;
}

var win = new Window(palette);
var group = win.add(group);
group.size = [360, 240];
group.graphics.backgroundColor = group.graphics.newBrush(group.graphics.BrushType.SOLID_COLOR, [1, 0, 1]);
ringhtClickMenu(group, myMenu());
win.show();

给TA充电
共{{data.count}}人
人已充电
AEAE开发脚本开发

[AE脚本开发]合并多条路径为一条

2024-2-22 16:36:43

脚本开发

[AE脚本] 如何快速修改AE版本语言?

2024-4-21 17:02:44

4 条回复 A文章作者 M管理员
  1. 傲尘Pridust
    傲尘Pridust给作者打赏了¥10
  2. 傲尘Pridust

    想问下orientation设置为stack是为什么?如果不是stack会出现什么问题吗

    • 赵大牛

      因为是2个window,如果不设置成stack,那么新window会出现在旧window的下面,设置成stack,那么新window会出现在旧window的上面,但是本身是2个window,有遮挡关系,所以加一个失焦事件,点了别处就会消失,来解决遮挡关系

    • 赵大牛

      更正一下,两者可能并无直接关系,是我当时监听的组控件,不设置成stack,会不出现在上面,是我个人遇到的问题,让我主管认为要设置成stack,如果是监听普通的控件,可以把设置成stack的代码给删了

个人中心
今日签到
搜索