我刚刚开始学习MEL脚本,我几乎没有学到基础知识。但是现在,我能够编写自己的脚本,可以在Maya 2015中显示/隐藏对象。我现在面临的问题是我需要一个主复选框来检查/取消选中其他复选框。我现在的方法只允许我更改一个子复选框而不是其他复选框。
ETC - None
复选框为on
。所有其他子项复选框均为off
。 None
复选框为off
。所有其他孩子都是on
。现在,我可以设置一个子项复选框,使用主on
复选框切换off
和None
。
这是我的代码:
checkBox -label "None" -align "center" -v false -onCommand "OnNoneProcedure" -offCommand "offNoneProcedure" -changeCommand "checkBox -edit -value (!#1) checkboxNurbsCurves";
checkBox -label "NurbsCurves" -align "center" -v true -onCommand "OnNurbsCurvesProcedure" -offCommand "offNurbsCurvesProcedure" checkboxNurbsCurves;
我使用changecommand
方法做正确的方法吗?如果是,我如何将其他子项复选框on
和off
?或者我查询主None
复选框-v然后使用None
的-v来切换子项的-v复选框?
答案 0 :(得分:1)
可能最简单的方法是创建一个过程,将所需的所有复选框设置为所需的状态,然后将该过程指定为changeCommand。
为了让它工作,你可能想要命名复选框和/或将它们存储到一些字符串数组变量中,你可以在你的程序中循环设置...幸运的是,那个&#39 ; s非常简单,因为checkbox命令返回它创建的复选框的全名。
答案 1 :(得分:0)
好吧,我搞定了!哈哈,我的朋友在最后一步指导我。基本上这是它的工作原理; 1)查询当前面板状态2)获取结果并传入数组3)使用返回数组的结果将另一个程序转换为新数组4)每个结果如果0 =关闭该元素,如果1 = on该元素返回此新结果5)使用新结果创建货架按钮(result = command)。