![]()  | 
	
| 
		 
			 
			#1  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
			
			 
				
				scheduled animation paths: jumps
			 
			
			
			Hi 
		
		
		
			Three animation paths should be scheduled one after another. The path speed should be 100 steps/sec Code: 
	pathFW.speed(100) # default: 1/sec? Code: 
	yield viztask.waitTime(len(BW_Pos)/100) Code: 
	def onkeydown(key): PATH() if key == 't': ###+++++++++++++++++++++++++++ ### SCHEDULE the room movement, sound and the output voltage def ScheduleOutputs(): song.play() d.eAnalogOut(3.0, 0.0) #(AO0, AO1) pathFW.play() yield viztask.waitTime(((len(FW_Pos))/100)) d.eAnalogOut(1.0, 0.0) pathStopp.play() yield viztask.waitTime(((len(Stopp_Pos))/100)) d.eAnalogOut(3.0, 0.0) pathBW.play() yield viztask.waitTime(((len(BW_Pos))/100)) d.eAnalogOut(1.0, 0.0) song.stop() viztask.schedule(ScheduleOutputs()) ###+++++++++++++++++++++++++++ viz.callback(viz.KEYDOWN_EVENT,onkeydown)  | 
| 
		 
			 
			#2  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
			
			 
				
				viztask.schedule only once?
			 
			
			
			I think I have a similar problem. Maybe I just don't understand viztask very well, but it seems that you are unable to schedule a function more than once. Can I have someone with authority agree or disagree with this? Here is some code demonstrating what I am talking about. 
		
		
		
		
		
		
		
		
			Code: 
	def print_this(): print "this" yield viztask.waitTime( 0.1 ) vizact.onkeydown( 'p', viztask.schedule, print_this() ) In my application I am assembling/disassembling a model (also with animation paths). When I typed vizact.onkeydown( viz.KEY_DOWN, disassemble_all ), my program would only call the function the first time I pressed the key. I want the parts to disassemble one at a time rather than all at once. - bloswald  
		Last edited by bloswald; 03-11-2010 at 04:00 PM. Reason: Adding signature and smiley :)  | 
| 
		 
			 
			#3  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
		
		 
			
			Oops. I meant to say: vizact.onkeydown( viz.KEY_DOWN, viztask.schedule, disassemble_all() ) 
		
		
		
		
		
		
		
		
			- bloswald  
		Last edited by bloswald; 03-11-2010 at 04:04 PM. Reason: signature  | 
| 
		 
			 
			#4  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
			
			 
			
			Since my last post, I have learned that tasks require a different way of thinking. 
		
		
		
		
		
		
		
		
	
	The following code worked for my purposes, and viztask.schedule is only called once. Code: 
	def print_this():
    while True:
        yield viztask.waitKeyDown( 'p' )
        print "this"
        yield viztask.waitTime( 1 )
viztask.schedule( print_this() )
![]() - bloswald  
		 | 
| 
		 
			 
			#5  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
			
			 
			
			Here is an even better solution. 
		
		
		
		
		
		
		
		
	
	Code: 
	import viztask import vizact import viz viz.go() def print_this(): yield viztask.waitTime( 0.1 ) print "this" def intermediate_function(): viztask.schedule(print_this()) vizact.onkeydown( 'p', intermediate_function ) - bloswald  
		 | 
![]()  | 
	
	
| Thread Tools | |
| Display Modes | Rate This Thread | 
		
  | 
	
		
  | 
			 
			Similar Threads
		 | 
	||||
| Thread | Thread Starter | Forum | Replies | Last Post | 
| speed on animation path | whj | Vizard | 8 | 11-17-2008 08:41 PM | 
| Animation Tracks.... | k_iwan | Vizard | 2 | 03-26-2007 06:52 PM | 
| Jumpy animation | Elizabeth S | Vizard | 1 | 11-08-2006 03:11 PM | 
| animation sequence | pkhoosh | Vizard | 2 | 01-23-2006 09:03 AM | 
| avatar animation problems | jrodman | Vizard | 1 | 01-18-2006 10:12 AM |