在为 Maya 编写 Python 脚本时使用 类
Using Classes when Python Scripting for Maya
我正在研究 Adrian Herbez 的 Maya Programming with Python Cookbook,但在创建 class 的示例(第 31 页)时遇到了问题生成用于在 Maya 中制作简单球体的用户界面。当我重现代码和 运行 它加载的脚本时,但在 Maya 中没有任何反应。我之前能够在不使用 class 方法的情况下创建用户界面,所以我想知道 class 代码是否有问题。我对 classes 的理解有点不稳定,但我找不到它有什么问题。我正在使用 Atom 并使用调用脚本
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.win
、self.numSpheres
和 self.makeSpheres
以红色突出显示,但 linter 没有任何错误消息。
原来我是在 makeSpheres
函数中调用 SpheresClass
。
我正在研究 Adrian Herbez 的 Maya Programming with Python Cookbook,但在创建 class 的示例(第 31 页)时遇到了问题生成用于在 Maya 中制作简单球体的用户界面。当我重现代码和 运行 它加载的脚本时,但在 Maya 中没有任何反应。我之前能够在不使用 class 方法的情况下创建用户界面,所以我想知道 class 代码是否有问题。我对 classes 的理解有点不稳定,但我找不到它有什么问题。我正在使用 Atom 并使用调用脚本
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.win
、self.numSpheres
和 self.makeSpheres
以红色突出显示,但 linter 没有任何错误消息。
原来我是在 makeSpheres
函数中调用 SpheresClass
。