I have solved the problem of assigning value to translate, the only problem left is that the right ball jumps when I try to move it but the other 2 works perfect.
import viz
viz.go()
ground = viz.add('tut_ground.wrl')
viz.clearcolor(0.5,0.5,1)
ground.disable(viz.PICKING)
soccerball1 = viz.add('soccerball.ive')
soccerball2 = viz.add('soccerball.ive')
soccerball3 = viz.add('soccerball.ive')
soccerball1.translate(-1,1.5,3)
soccerball2.translate(0,1.5,3)
soccerball3.translate(1,1.5,3)
def mouseclick(button):
global ball
if button == viz.MOUSEBUTTON_LEFT:
pickObj = viz.pick()
if pickObj.valid():
ball = pickObj
def myTranslate(key):
global ball
if not ball:
return
else:
if key == viz.KEY_UP:
ball.translate(0,0.01,0,ball)
elif key == viz.KEY_DOWN:
ball.translate(0,-0.01,0,ball)
elif key == viz.KEY_RIGHT:
ball.translate(0.01,0,0,ball)
elif key == viz.KEY_LEFT:
ball.translate(-0.01,0,0,ball)
vizact.whilekeydown(viz.KEY_UP,myTranslate,viz.KEY _UP)
vizact.whilekeydown(viz.KEY_DOWN,myTranslate, viz.KEY_DOWN)
vizact.whilekeydown(viz.KEY_RIGHT,myTranslate, viz.KEY_RIGHT)
vizact.whilekeydown(viz.KEY_LEFT,myTranslate, viz.KEY_LEFT)
viz.callback(viz.MOUSEDOWN_EVENT,mouseclick)
viz.mouse(viz.OFF)
|