View Single Post
  #1  
Old 02-10-2009, 10:26 PM
nlfrnassimi nlfrnassimi is offline
Member
 
Join Date: Feb 2009
Posts: 37
how can I stop an action?

I've solved the problem of selecting and moving an object but now I can't deselect the object.

when I choose my first object and move it, it works properly but when i select my second object the first one moves also. how can i stop the first one?

this is the code i wrote:

import viz

viz.go()

viz.add('tut_ground.wrl')
viz.clearcolor(0.5,0.5,1)

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)

arrow = viz.add('arrow.wrl')
arrow.scale(.1,.1,.1)
arrow.visible(viz.OFF)

def mouseclick(button):
if button == viz.MOUSEBUTTON_LEFT:
ball = viz.pick()
if ball.valid():
vizact.whilekeydown( viz.KEY_UP, ball.translate, 0, vizact.elapsed(1), 0, viz.REL_PARENT )
vizact.whilekeydown( viz.KEY_DOWN, ball.translate, 0, vizact.elapsed(-1), 0, viz.REL_PARENT )
vizact.whilekeydown( viz.KEY_RIGHT, ball.translate, vizact.elapsed(1), 0, 0, viz.REL_PARENT )
vizact.whilekeydown( viz.KEY_LEFT, ball.translate, vizact.elapsed(-1), 0, 0, viz.REL_PARENT )

pos = ball.get(viz.POSITION)
pos[1] +=.2
arrow.translate(pos)
arrow.visible(viz.ON)



viz.callback(viz.MOUSEDOWN_EVENT,mouseclick)

viz.mouse(viz.OFF)
Reply With Quote