从单选按钮

时间:2016-02-25 22:31:00

标签: scripting maya

我想设置值取决于所选的单选按钮,并在其他功能中使用该值。 无论我尝试什么,我总能得到相同的答案

NameError:全局名称'tX'未定义#

import maya.cmds as cmds
from functools import partial

winID='MSDKID'

def init(*args):
    print tX
    print tY
    print tZ
    print rX
    print rY
    print rZ    
    return 

def prozor():

    if cmds.window(winID, exists = True):
            cmds.deleteUI(winID);
    cmds.window()
    cmds.columnLayout( adjustableColumn=True, rowSpacing=10 )
    cmds.button(label = "Init")
    cmds.button(label = "MirrorSDK",command=init)
    cmds.setParent( '..' )
    cmds.setParent( '..' )

    cmds.frameLayout( label='Position' )
    cmds.columnLayout()
    collection2 = cmds.radioCollection()
    RButton0 = cmds.radioButton( label='Behavior' )
    RButton1 = cmds.radioButton( label='Orientation' )
    cmds.button(l='Apply', command = partial(script,RButton0,RButton1,))
    cmds.setParent( '..' )
    cmds.setParent( '..' ) 
    print script(RButton0,RButton1)
    cmds.showWindow()

def script(RButton0,RButton1,*_cb_val):
    X = 0
    rb0 = cmds.radioButton(RButton0, q = True, sl = True)
    rb1 = cmds.radioButton(RButton1,q = True, sl = True)
    if (rb0 == True):
        tX = -1
        tY = -1
        tZ = -1

        rX = 1
        rY = 1
        rZ = 1

    if (rb1 == True):
        tX = -1
        tY = 1
        tZ = 1 
        rX = 1
        rY = -1
        rZ = -1
        return tX,tY,tZ,rX,rY,rZ        

prozor()  

1 个答案:

答案 0 :(得分:0)

您在script()中定义的变量是该函数的本地变量。其他功能看不到它们。

如果您需要多个UI元素来共享数据,您可能需要创建一个类来让它们共享变量。一些参考herehere