def keyfunc2( key, mx, my, tm ): if chr(27) == key: print _pylon.exit( 0 ) global sim2Outset global sim2 if key == ',': #pylon.wait_sec_f(10.0/25.0) #sim2.stop() rnum = 3 sim2Outset = None print "'simulation2' = ",pylon.sim_num_objects( "simulation2" ) #while pylon.sim_num_objects( "simulation2" ) > 0: #print "'simulation2' = ",pylon.sim_num_objects( "simulation2" ) #pylon.wait_sec_f(0.1) sim2Outset = sim2.newObject("sim2Outset_"+str(tm)) sim2Outset.setOptions( pylon.solid_stationary | pylon.solid_concave | pylon.solid_sphere ) #sim2Outset.setProperties( pylon.object_draw_children ) #sim2Outset.setProperties( pylon.object_debug ) sim2Outset.setProperties( 0 ) pylon.object_add_sphere( sim2Outset.simname, sim2Outset.name, 1.5, 20, 20, possibleImages[rnum], 1, 1, possibleTriProps[rnum]|pylon.triangle_invert_normals ) sim2Outset.setVisibility(pylon.key_ispressed('v')) #sim2Outset.setInvisible() #sim2Outset.setVisible() sim2Outset.build() #sim2.resume() if key == 'v': sim2Outset.setInvisible()
def keyfunc1( key, mx, my, tm ): # the exiting condition if chr(27) == key: print _pylon.exit( 0 ) if key == '\r' or key == '\n': global going if going: print "Stopping Physics Calculation Thread" going = False _pylon_calc.lock() else: print "Starting Physics Calculation Thread" going = True _pylon_calc.unlock() if key == 'o': sim2.halt() l = 0 while l < 10: #pylon.wait_sec_f(1.0/25.0) positionrange = 1.5 rpos = Position(rnd_n1p1(),rnd_n1p1(),rnd_n1p1()) * positionrange rot = Position(rnd_n1p1(),rnd_n1p1(),rnd_n1p1()) * 360.0 currentObject = sim2.newObject( "Object_"+str(pylon.get_runtime()) ) currentObject.setPos(rpos) currentObject.setRot(rot) currentObject.setMass(20000) currentObject.setBounce(0.25) currentObject.setFriction(0.5) currentObject.setOptions( pylon.solid_volatile | pylon.solid_convex | pylon.solid_sphere ) currentObject.setProperties( pylon.object_draw_children ) rnum = 1 print pylon.object_add_sphere( currentObject.simname, currentObject.name, .25, 10, 10, possibleImages[rnum], 1, 1, possibleTriProps[rnum] ) currentObject.setCollisionCallBack( "game", "collisionfunction1" ) currentObject.setStepCallBack( "game", "stepfunction1" ) currentObject.setHitFilterCallBack( "game", "hitfilter1" ) currentObject.build() l += 1 sim2.resume() if key == ',': #if pylon.sim_remove_object( sim2Outset.simname, sim2Outset.name ): #print " AKHBSDjkHAKJJSD" #sim2.halt() print "clearing sim2" if sim2.clearAllObjects(): print "cannot clear sim2" if key == 'v': global sim2Outset sim2Outset.setVisible()
from pylonsupport.classes.camera import * from pylonsupport.classes.hud import * from pylonsupport.classes.simulation import * from pylonsupport.classes.objects import * from pylonsupport.classes.subrenderer import * from pylonsupport.classes.pylonclasses import * import game except ImportError as bob: # complete failure: print 'ERROR: Master import failure' print ' Importing failure for the required modules in \"init.py\".' print bob print 'Exiting ...' # exit cleanly print _pylon.exit(-1) quit() # the main Initialization things ... NumInitObjs = 5 #declare the 'counter' will be incrimented by 0.1 every script cycle counter = 0 # setup the camera cam = Camera( Position( 0, 0, 0 ), Position( 0, 0, 0 ) ) # declare the way in which the simple object movement example moves objects movestatetype = 0