PDA

View Full Version : what does this error code mean?


fc2008
07-17-2008, 01:18 PM
Heya im getting this error, im trying to make it so when the left mouse button is pressed an event occurs,

but i Keep getting the following error:

if info.valid and info.object == female:
UnboundLocalError: local variable 'info' referenced before assignment

any thoughts? the code is below:

import viz

import vizinfo
viz.go()

ground = viz.add('tut_ground.wrl')
avatar = viz.add('vcc_male.cfg')
female = viz.add('vcc_female.cfg')

viz.translate(viz.HEAD_POS,0,20,-30)
viz.lookat(0,0,0)
viz.mouse(viz.OFF)
viz.clearcolor(0.5,0.5,1)


#Add the vizinfo object with a message.
infoObject = vizinfo.add('Give me feedback!')
infoObject.visible(0)
#Give it a title.
infoObject.title('Vizinfo box')
#Add GUI elements with labels.
button = infoObject.add(viz.BUTTON, 'Push me')
slider = infoObject.add(viz.SLIDER, 'Slide me')
check = infoObject.add(viz.CHECKBOX, 'Check me')
#Adjust the parameters of one of the GUI elements.
slider.vertical()

def mouse(button):
if button == viz.MOUSEBUTTON_LEFT:
info = viz.pick(1)
if info.valid and info.object == ground:
walk = vizact.walkTo([info.point[0],0,info.point[2]])
avatar.runAction(walk)

if info.valid and info.object == female:
infoObject.visible(1)

viz.callback(viz.MOUSEDOWN_EVENT,mouse)

thankyou for your time

farshizzo
07-17-2008, 04:17 PM
You are creating the info variable in a different indentation block than the if statement. So if the right mouse button was clicked you would get an error because the info object would never be created. So you need to indent the if info.valid and info.object == female: block so it is in the same scope as the line info = viz.pick(1)

fc2008
07-17-2008, 05:38 PM
cheers, thats sorted a lot of the problems ive been havin :)

Also I was wondering if there could be a scripts page in the future on here, so users can share scripts etc?

Thankyou for your time