2016-04-08 27 views
1

球が1つの点に到達すると、そのエラーが発生します。私は何をすべきかわからない。このコードの全体的なポイントは、スライダの作業を行うことです。TypeError: 'module'オブジェクトは呼び出し可能ではありません。#

import maya.cmds as cmds 
from functools import partial 
import os 
import random as rand 

class gridTestUI(): 
    def __init__(self, winName="gridTest"): 
     #Attributes of the class 
     self.winTitle = "create a window with a grid layout" 
     #This is the name of the window 
     self.winName = winName 
     self.numSpheres = 3 
     self.getSpheres = [] 
     self.makeSpheres() 
     self.createUI() 
     self.movePlacement = []#my change 
    def createUI(self): 
     #Test to see if the window exists 
     if cmds.window(self.winName, exists=True): 
      #delete the window 
      cmds.deleteUI(self.winName) 
     #create a new window 
     cmds.window(self.winName, title=self.winTitle) 

     cmds.scrollLayout('scrollLayout') 
     cmds.columnLayout(adjustableColumn=True) 
     cmds.frameLayout(label='Buttons', borderStyle='in') 
     self.mainGrid = cmds.gridLayout(numberOfColumns=self.numSpheres, cellWidthHeight=(200, 200))   
     for sphereName in self.getSpheres: 
      cmds.button(l=sphereName,command=partial(self.selectSphere, sphereName)) 
     #This command allow you to create a button 
     cmds.setParent('..') 
     cmds.setParent('..') 
     cmds.frameLayout(label='Sliders', borderStyle='etchedIn') 
     cmds.columnLayout() 
     self.moveSlider = cmds.floatSliderGrp(label='Move Sphere', field=True, minValue=-10.0, maxValue=10.0, value=0) 
     cmds.setParent('..') 
     cmds.setParent('..') 
     cmds.showWindow(self.winName) 
     #cmds.window(self.winName, edit=True, widthHeight=[450,300]) 


    def selectSphere(self,args=None,arg=None): 
     cmds.select(args) 

    def makeSpheres(self): 
      for j in range(self.numSpheres): 
       self.movePlacement = [0,2,3,6,8,10,12,14,16] 
       self.getSpheres.append(cmds.polySphere()[0] 
       cmds.move(movePlacement[j],rand(0,9)*moveSlider,movePlacement[j]) 
    myGrid = gridTestUI() 

ここでエラーが発生していると思います。 Mayaはコードの残りの部分をうまく使っているようです。あなたが投稿エラーメッセージで慎重

+1

完全なエラーMSG –

+1

#エラー私たちを見る: 'モジュール' オブジェクトが #トレースバック(最新の呼び出しの最後)呼び出すことはできません: #ファイル "<マヤコンソール>"、ライン60、 #ファイルに「< maya console> "、19行目、__init__ #ファイル" "、make#TypeError: 'module'オブジェクトは呼び出し可能ではありません。# –

+0

ここに新しい情報があります –

答えて

0

ルック:

# Error: 'module' object is not callable 
# Traceback (most recent call last): 
# File "<maya console>", line 60, in <module> 
# File "<maya console>", line 19, in init 
# File "<maya console>", line 57, in makeSpheres 
# TypeError: 'module' object is not callable 

はエラーがmakeSpheresであるので、その方法を見て:

def makeSpheres(self): 
    for j in range(self.numSpheres): 
     self.movePlacement = [0,2,3,6,8,10,12,14,16] 
     self.getSpheres.append(cmds.polySphere()[0] 
     cmds.move(movePlacement[j], rand(0, 9) * moveSlider, movePlacement[j]) 

あり、それは次のとおりです。rand(0, 9)randは、randomモジュールをインポートした方法です。エラーメッセージのように、呼び出し可能ではありません。あなたが呼びたいのは、randomモジュールのrandintメソッドです。

変更方法には:

def makeSpheres(self): 
    for j in range(self.numSpheres): 
     self.movePlacement = [0,2,3,6,8,10,12,14,16] 
     self.getSpheres.append(cmds.polySphere()[0] 
     cmds.move(
      movePlacement[j], 
      rand.randint(0, 9) * moveSlider, 
      movePlacement[j]) 

そして、物事が動作するはずです(あなたのコードで別の問題があるかどうかは別のエラーを取得する必要があります)。

関連する問題