首页 > 解决方案 > 在为 Maya 编写 Python 脚本时使用类

问题描述

我正在通过 Adrian Herbez的 Python Cookbook 进行 Maya 编程,并且遇到了一个示例(第 31 页),该示例创建了一个类,该类生成了一个用于在 Maya 中制作简单球体的用户界面。当我重现代码并运行脚本时,它会加载但在 Maya 中没有任何反应。我之前能够在不使用类方法的情况下创建用户界面,所以我想知道类代码是否有问题。我对课程的理解有点不稳定,但我找不到它可能有什么问题。我正在使用 Atom 并使用 and 调用 import(makeSpheres)脚本reload(makeSpheres)

这是代码:

import maya.cmds as cmds

class SpheresClass:
    def __init__(self):
        self.win = cmds.window(title="Make Spheres",widthHeight=(300,200))
        cmds.columnLayout()
        self.numSpheres = cmds.intField(minValue=1)
        cmds.button(label="Make some spheres", command=self.makeSpheres)
        cmds.showWindow(self.win)

    def makeSpheres(self, *args):
        number = cmds.intField(self.numSpheres,query=True,value=True)
        for i in range(0,number):
            cmds.polySphere()
            cmds.move(i*2.2,0,0)

        SpheresClass()

在 Atom 中self.winself.numSpheresself.makeSpheres以红色突出显示,但 linter 没有任何错误消息。

标签: pythonoopuser-interfacemaya

解决方案


原来我是在函数SpheresClass内调用 from 。makeSpheres


推荐阅读