WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Thread Tools Rate Thread Display Modes
Old 04-14-2009, 11:34 AM
durf durf is offline
Join Date: Feb 2009
Posts: 61
stopping a sequence


This is the code Im running:

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))
	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))

	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))

	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))
	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))

	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))
	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))
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
Old 04-14-2009, 01:31 PM
moooh moooh is offline
Join Date: Dec 2008
Posts: 19
They are not running in a loop and the statement will indeed turn false when you move the sensor away, however by the looks of it you are running the moveFlowers function every frame, so once you have the sensor in a position where a condition will be true, the actions will keep adding up for every frame you spend in that position.
Even if you move away really quickly you will probably have hundreds of actions queued after eachother, which is why it feels like they are running in a loop.

If you just want to replace the previous action with the new one you can try and clear the actions of each node before adding the new, using the <node3d>.clearActions call.
Reply With Quote

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
sequence jaclyn.bill Vizard 3 10-18-2007 08:19 AM
stopping a goto() vsully Vizard 1 01-24-2006 01:43 PM
animation sequence pkhoosh Vizard 2 01-23-2006 08:03 AM
partially stopping tracking vsully Vizard 1 01-12-2005 09:02 AM
animation sequence shai Vizard 1 10-27-2004 10:09 AM

All times are GMT -7. The time now is 01:16 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2022, vBulletin Solutions, Inc.
Copyright 2002-2018 WorldViz LLC