我有一个simpleObject脚本插件,我在其中定义了一个参数块及其相关的卷展栏:
rollout mainParamsRollout "Main Properties"
(
group "Group1"
(
dropdownlist ddl1 "ddl1" items:#("A", "B") height:4
on ddl1 selected i do
(
ddl2.enabled = false
)
)
group "Group2"
(
dropdownlist ddl2 "ddl2" items:#("C", "D") height:4
)
)
当我尝试在ddl1上发生某个选择后禁用ddl2时,maxscript会抛出一个异常,说明ddl2未定义。
我知道可以通过mainParamsRollout.controls [5]访问ddl2,但我想知道是否有更好的方法。我已经尝试在脚本插件的顶部定义一个局部变量:
local ddl2
让它可以在任何地方使用,但这似乎也不起作用。有任何想法吗? 感谢
答案 0 :(得分:1)
ddl2
的事件处理程序中调用它之前, ddl1
必须声明。您可以这样订购代码:
rollout mainParamsRollout "Main Properties"
(
group "Group1"
(
dropdownlist ddl1 "ddl1" items:#("A", "B") height:4
)
group "Group2"
(
dropdownlist ddl2 "ddl2" items:#("C", "D") height:4
)
on ddl1 selected i do
(
ddl2.enabled = false
)
)
答案 1 :(得分:0)
或者只是在控件之前添加卷展栏,如
mainParamsRollout.ddl.enabled = false
然后在哪里调用控件并不重要。
-Johan