摘要:本文将带你了解Maya python 定时器的实现方法,希望本文对大家学Maya有所帮助。
maya python 定时器,在maya实现一下python定时器线程控制。
不过简单的可行,建立物体等操作会有崩溃问题发生
并报出 r6025 pure virtual function call或者'Cannot convert data of type string[] to type string
然后就崩溃了
但是平常的移动之类没什么问题
可以用来刷新一些东西
另外这种方法不会阻塞maya的主线程,也就是说你可以一边操作一边看
以下代码操作注意有可能会导致maya崩溃
import threading as thd import time import maya.cmds as cmds global aaa aaa = 1 def fn(): global aaa aaa += 1 cmds.polySphere(n='mySphere'+str(aaa),sx=1, sy=1, r=1) cmds.select( clear=True ) thd.Timer(1,fn).start() fn() 上面的就会崩溃 下面的就不会,估计是创建的问题(需要新建一个叫sphere的物体)
import threading as thd import time import maya.cmds as cmds global aaa aaa = 1 def fn(): global aaa aaa += 1 cmds.setAttr( 'sphere.translateX', aaa ) cmds.select( clear=True ) thd.Timer(1,fn).start() fn() 下面是完整可控定时器 from threading import Timer,Thread,Event import time class myTimer(): def __init__(self,t,hFunction): self.t=t self.hFunction = hFunction self.thread = Timer(self.t,self.handle_function) def handle_function(self): self.hFunction() self.thread = Timer(self.t,self.handle_function) self.thread.start() def start(self): self.thread.start() def cancel(self): self.thread.cancel() def printer(): print time.time() t = myTimer(1,printer) def defaultButtonPush(*args): print 'shenmifangke.' def defaultButtonPush2(*args): t.start() def defaultButtonPush3(*args): t.cancel() cmds.window( width=150 ) cmds.columnLayout( adjustableColumn=True ) cmds.button( label='test', command=defaultButtonPush ) cmds.button( label='开启', command=defaultButtonPush2) cmds.button( label='关闭', command=defaultButtonPush3 ) cmds.showWindow()
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件之Maya频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号