![]() |
|
#1
|
|||
|
|||
Thanks for this, and it is understood
I tried to do the following but still incorrect Code:
def onCollideBegin(e): if e.obj1 == box1 and e.obj2== box2: print e.obj1 , “ ,” , e.obj2 action=vizact.call( task1()) viz.callback(viz.COLLIDE_BEGIN_EVENT,onCollideBegin) ball=0 def task1(): global ball while ball <4: yield viztask.waitEvent(action) ball +=1 print 'Number of Balls is : ',ball Any help? |
#2
|
|||
|
|||
I have tried to use box1.collidingwith(box2) but this made the game meet the condition once I run the code
Code:
ball=0 def task1(): global ball while ball <4: action=box1.collidingwith(box2) yield viztask.waitEvent(action) ball +=1 print 'Number of Balls is : ',ball |
#3
|
|||
|
|||
There a few ways you could do this. You could use viztask's signal and wait functions and send a signal when the collision of those objects occurs within your onCollideBegin function. Then wait for that signal in your task function.
Or you could create a custom event that is generated when those two objects collide and wait for that event in your task function. The docs describe how to create a custom event. |
![]() |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Tasks | Moh200jo | Vizard | 1 | 02-23-2009 10:57 AM |
Vizard Tip of the Month: Use Tasks to Simplify your Code | Gladsomebeast | Vizard | 5 | 05-02-2008 04:30 PM |