The following code links an object to the mouse position and correctly returns the picked object.
Code:
import viz
viz.go()
viz.link( viz.Mouse , viz.addTexQuad(viz.SCREEN,texture=viz.add('crosshair.png')) )
viz.mouse(viz.OFF)
viz.mouse.setVisible(viz.OFF)
court = viz.add('court.ive')
male = viz.add('vcc_male.cfg',pos=[-1,0,5],euler=[180,0,0])
male.state(1)
female = viz.add('vcc_female.cfg',pos=[1,0,5],euler=[180,0,0])
female.state(1)
def getPicked():
object = viz.pick()
if object == male:
print 'male'
elif object == female:
print 'female'
elif object == court:
print 'court'
vizact.onmousedown(viz.MOUSEBUTTON_LEFT,getPicked)