View Single Post
  #1  
Old 04-14-2009, 11:34 AM
durf durf is offline
Member
 
Join Date: Feb 2009
Posts: 61
stopping a sequence

HI,

This is the code Im running:

Code:
def moveFlowers():
	
	x,y,z = ball1.getPosition()

	if  x <= -12 and x >= -10:

		goto1 = vizact.sequence(vizact.goto(-11,10,-10,5),vizact.waittime(2),vizact.goto(-11,5,-10,6),vizact.waittime(2))
		goto2 = vizact.sequence(vizact.goto(-11,15,-10,5),vizact.waittime(2),vizact.goto(-11,6,-10,6),vizact.waittime(2))
		middle1.runAction(goto1)
		top1.runAction(goto2)
		
	elif x <= -11 and x >= -13:

		goto1 = vizact.sequence(vizact.goto(-12,10,25,5),vizact.waittime(3.5),vizact.goto(-12,5,25,6),vizact.waittime(2))
		goto2 = vizact.sequence(vizact.goto(-12,15,25,5),vizact.waittime(2),vizact.goto(-12,6,25,6),vizact.waittime(2))
		middle2.add(goto1)
		top2.add(goto2)

	elif x <= -10 and x >= -8:
		
		goto1 = vizact.sequence(vizact.goto(-9,10,22,5),vizact.waittime(3.5),vizact.goto(-9,5,22,6),vizact.waittime(2))
		goto2 = vizact.sequence(vizact.goto(-9,15,22,5),vizact.waittime(2),vizact.goto(-9,6,22,6),vizact.waittime(2))
		middle3.add(goto1)
		top3.add(goto2)

	elif x <= 1 and x >= -1:
		
		goto1 = vizact.sequence(vizact.goto(0,10,28,5),vizact.waittime(3.5),vizact.goto(0,5,28,6),vizact.waittime(2))
		goto2 = vizact.sequence(vizact.goto(0,15,28,5),vizact.waittime(2),vizact.goto(0,6,28,6),vizact.waittime(2))
		middle4.add(goto1)
		top4.add(goto2)
	
	elif x <= 8 and x >= 6:
		
		goto1 = vizact.sequence(vizact.goto(7,10,25,5),vizact.waittime(3.5),vizact.goto(7,5,25,6),vizact.waittime(2))
		goto2 = vizact.sequence(vizact.goto(7,15,25,5),vizact.waittime(2),vizact.goto(7,6,25,6),vizact.waittime(2))
		middle5.add(goto1)
		top5.add(goto2)

	elif x <= 13 and x >= 11:
		
		goto1 = vizact.sequence(vizact.goto(12,10,29,5),vizact.waittime(3.5),vizact.goto(12,5,29,6),vizact.waittime(2))
		goto2 = vizact.sequence(vizact.goto(12,15,29,5),vizact.waittime(2),vizact.goto(12,6,29,6),vizact.waittime(2))
		middle6.add(goto1)
		top6.add(goto2)
		
	elif x <= 17 and x >= 15:
		
		goto1 = vizact.sequence(vizact.goto(16,10,-10,5),vizact.waittime(3.5),vizact.goto(16,5,-10,6),vizact.waittime(2))
		goto2 = vizact.sequence(vizact.goto(16,15,-10,5),vizact.waittime(2),vizact.goto(16,6,-10,6),vizact.waittime(2))
		middle7.add(goto1)
		top7.add(goto2)
		
timer5 = vizact.ontimer2(0,viz.FOREVER,moveFlowers)
timer5.setEnabled(viz.OFF) # I enable it from else where
When the ppt sensors x position is true to one of the if statements the sequence runs. When I move the ppt sensor away from that x position, which would then make that if statement false, the sequence continues to run. I even tried putting 0 repeats at the end of the sequence but it keeps running like its in a loop. how do I get this so it runs once everytime the x position is true with the if statement and not in a loop.
Reply With Quote