Joint Problems

Ok, I am having trouble getting some code to work. Now I understand that in order for joint manipulation to work you must have an animation going. All I want to do in the code listed below is move the Right Elbow of the model I am trying to use. The thing is that the H position is reset but the joint itself does not move. Could someone PLEASE help me figure out why.


class BroMan(DirectObject.DirectObject):
	def __init__(self):
		self.loadactor()
		self.loadslider()
	
	def loadslider(self):
		self.slider = DirectSlider(scale = 0.2, pos = (-0.95, 0, 0), orientation = VERTICAL, range = (0,360), pageSize = 0.05, value = self.elbow.getH(), command = self.jointMover)
	
	def loadactor(self):
		self.broman = Actor.Actor(pathname + "/BroMan/bromanactormodel.egg", {"move" : pathname + "/BroMan/bromanactoranim.egg"})
		self.broman.setH(180)
		self.broman.reparentTo(render)
		
		self.broman.loop('move')
		
		self.elbow = self.broman.controlJoint(None, 'modelRoot', 'bromanRightElbow')
	
	def jointMover(self):
		self.elbow.setH(self.slider['value'])
		print self.elbow.getH()

You have to call controlJoint() before any animations have started playing. That means you should reverse the order of your calls to loop() and controlJoint().

David

Huh… really well thanks… I will check it out