When posting code, please use the code tags by clicking the hashtag symbol (#), as it keeps indentation which is essential for python code. This should do the trick, every sensor has it's own text that becomes visible when entering the sensor area:
Code:
import vizmat
import vizact
import vizproximity
import vizdlg
viz.go()
viz.setMultiSample(4)
viz.fov(60)
viz.clearcolor(viz.SKYBLUE)
viz.collision(viz.ON)
ground = viz.add('tut_ground.wrl') # PISO
ground.collidePlane()
COMPLEJO01 = viz.addChild('sky_day.osgb')
COMPLEJO01.collideMesh()
viz.MainView.move([0,0,-5]) #Mi primera posición
#GRAVEDAD
viz.phys.enable()
viz.phys.setGravity(0,-9.8,0)
#Create proximity manager
manager = vizproximity.Manager()
manager.setDebug(viz.ON)
#Add main viewpoint as proximity target
target = vizproximity.Target(viz.MainView)
manager.addTarget(target)
##############PANEL DE INFORMACIÓN#########
myPanel = vizdlg.Panel()
viz.link(viz.CenterCenter,myPanel,offset=(-350,50,0))
myPanel.enable()
##############ACCIONES DEL SENSOR###################
#CREANDO ACCIÓN CUANDO ENTRE ACTIVO EL SENSOR
def EnterProximity(e):
global myPanel
myPanel.reset()
myPanel.visible(viz.ON)
model=e.sensor.getSourceObject()
posicion=str(model.getPosition())
posicion=viz.addText('Posición: '+posicion)
#I would like the text will be variable
#The text panel is cleaned before it appears
e.sensor.text.visible(viz.ON)
myPanel.addItem(posicion,align=vizdlg.ALIGN_CENTER)
##############I WOULD LIKE THAT TEXT1 WILL BE VARIABLE#######
#CAMBIANDO LA ACCIÓN CUANDO EL USUARIO SE ALEJA
def ExitProximity(e):
global myPanel
myPanel.visible(viz.OFF)
e.sensor.text.visible(viz.OFF)
class house():
def __init__(self, object, text, position):
self.obj = viz.add(object, pos = position)
self.obj.collideBox()
sensor = vizproximity.addBoundingSphereSensor(self.obj,scale= 5)
sensor.text = viz.addText(text,parent = self.obj)
sensor.text.visible(viz.OFF)
manager.addSensor(sensor)
house1 = house('box.wrl', 'house1', [-10,0,-20])
house2 = house('ball.wrl', 'house2', [0,0,0])
house3 = house('duck.wrl', 'house3', [10,0,20])
manager.onEnter(None,EnterProximity)
manager.onExit(None,ExitProximity)