Пишу код, который создает связку костей. Хотел написать так, что бы при создании иметь опцию , которая удаляет из связки одну кость. Дело в том, что создав окно создается checkBox, значения, которой помещаются в переменную. Потом идет процедура которая дает выбрать какую из действий выполнить исходя из значений переменной checkBox. Есть кнопка которой назначена команда исполнить эту процедуру.Но kоманды помещенные в процедуру не работают таким образом. Они исполняются только тогда когда создано окно и выполнить их надо не как одну процедуру а выделв все кманды вместе и нажав Ctrl+Enter. Тоесть код работает если : сначала выполнить crearUI; createJchain; delJchain; а затем выделить
содержимое Borar(); и ставя галку нажимать Ctrl+Enter. В противном случает мая говорит, что $mychkBx не декларирован.
Как сделать так,что бы обе процедуры пользовались $mychkBx?
global proc crearUI(){
if (`window -exists myWindow`)
deleteUI myWindow;
window -title "new window" -widthHeight 300 200 myWindow;
columnLayout;
string $mychkBx = `checkBox -label "delete joint"`;
button -label "delete" -c "Borar";
showWindow myWindow;
}
proc Borar(){
if(`checkBox -q -v $mychkBx`)
{
createJchain;
}
else
{
createJchain;
delJchain;
}}
global proc createJchain()
{
select -d;
joint -p 0 0 0 ;
joint -p 0 4 0 ;
joint -e -zso -oj xyz joint1;
joint -p 0 8 -1 ;
joint -e -zso -oj xyz joint2;
}
global proc delJchain(){
select joint3;
Unparent;
delete joint2;
select joint3;
select -tgl joint1;
parent;
select -cl;
}
содержимое Borar(); и ставя галку нажимать Ctrl+Enter. В противном случает мая говорит, что $mychkBx не декларирован.
Как сделать так,что бы обе процедуры пользовались $mychkBx?
global proc crearUI(){
if (`window -exists myWindow`)
deleteUI myWindow;
window -title "new window" -widthHeight 300 200 myWindow;
columnLayout;
string $mychkBx = `checkBox -label "delete joint"`;
button -label "delete" -c "Borar";
showWindow myWindow;
}
proc Borar(){
if(`checkBox -q -v $mychkBx`)
{
createJchain;
}
else
{
createJchain;
delJchain;
}}
global proc createJchain()
{
select -d;
joint -p 0 0 0 ;
joint -p 0 4 0 ;
joint -e -zso -oj xyz joint1;
joint -p 0 8 -1 ;
joint -e -zso -oj xyz joint2;
}
global proc delJchain(){
select joint3;
Unparent;
delete joint2;
select joint3;
select -tgl joint1;
parent;
select -cl;
}