maya mel里面button 函数传参问题


mel里面直接使用带参函数是没有问题的,和其他语言一样,

但是用到button的时候就会有奇怪的写法

因为要改写一个mel脚本,所以又继续看了mel的button带参问题


如果是按钮 要有返回值 必须先有括号 里面的除了变量之外的东西必须用引号包围

下面是一个参数的情况

{
    window -t "我的测试窗" myTestWin;
    columnLayout -adj 1;
    int $a = 100;
    button -c ("test("+$a+")") ;
    proc test(int $b){
        print($b);
    }
    showWindow myTestWin;
}

两个参数情况

{
    window -t "我的测试窗" myTestWin;
    columnLayout -adj 1; // 主布局
    int $a = 100;
    int $a2 = 100;
    button -c ("test("+$a+","+$a2+")") ;
    proc test(int $b,int $c){
        print($b);
        print($b+$c);
    }
    showWindow myTestWin;
}


如果参数是字符串又有所不同

可以有下面两种方式(第一种方法用得多 注意test2之后的空格)

{
    window -t "我的测试窗" myTestWin;
    columnLayout -adj 1;
    string $a = "bbb";
    button -c ("test2 "+$a) ;
    proc test2(string $b){
        print($b);
    }
    showWindow myTestWin;
}


{
    window -t "我的测试窗" myTestWin;
    columnLayout -adj 1;
    string $a = "bbb";
    button -c ("test2(\""+$a+"\")") ;
    proc test2(string $b){
        print($b);
    }
    showWindow myTestWin;
}


参考地址

https://forum.highend3d.com/t/button-command-with-multiple-arguments/1963

https://forum.highend3d.com/t/passing-arguments-from-buttons/1323/3


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值