View Single Post
  #3  
Old 12-21-2011, 01:27 AM
sxu04 sxu04 is offline
Member
 
Join Date: Dec 2011
Posts: 4
Sorry this is the first time I've posted on a forum


Code:
a1=-37.5
a2=-12.5
a3=12.5
a4=37.5
x=2.75
y=3.85
z=1.1
b1=34.5
b2=16.5
b3=8.5
b4=-8.5
b5=-16.5
b6=-34.5

positions = [[a1,x,b1],[a1,x,b2],[a1,x,b3],[a1,x,b4],[a1,x,b5],[a1,x,b6],[a1,z,b1],[a1,z,b2],[a1,z,b3],[a1,z,b4],[a1,z,b5],[a1,z,b6]]

R=viz.RED
G=viz.GREEN

colors=[R,R,R,R,R,R,G,G,G,G,G,G]

balls=[]

def col():					
	while True:
		yield viztask.waitTime(3)

		for i in range(0,12):
			model=vizshape.addSphere(1,10,10)
			model.setPosition(positions[i])
			ball = viz.Data()
			ball.model = model
					
			x=random.randint(1,10)
			
			if x == 1:
	
				if colors[i]==R:
															
					ball.color=(viz.ORANGE)
						
				if colors[i]==G:
					ball.color=(colors[i])
			else:				

					ball.color=(colors[i])
					
			ball.colorShowing = False
			balls.append(ball)

		

viztask.schedule( col() ) 

def changeColor():
		viewPos = viz.MainView.getPosition()
		for ball in balls:  
			ballPos = ball.model.getPosition()
			distance = vizmat.Distance(viewPos, ballPos)

			if ball.colorShowing is False: 
				if distance < 10 :
					showColor=vizact.sequence(vizact.waittime(0.1),vizact.fadeTo(ball.color,time=0.7))
					ball.model.runAction(showColor)
					ball.colorShowing = True
			else:
				if distance > 10 :
					showWhite = vizact.fadeTo(viz.WHITE,time=4)																 			
					ball.model.runAction(showWhite)
					ball.colorShowing = False

vizact.ontimer(0,changeColor)
Reply With Quote