name='Triceratops', x=0, y=-1, z=40, sx=0.005, sy=0.005, sz=0.005) mymodel.set_shader(shader) # Fetch key presses mykeys = Keyboard() while 1: DISPLAY.clear() mymodel.draw() mymodel.rotateIncZ(0.001) mymodel.rotateIncX(-0.00317543) mymodel.rotateIncY(0.11) k = mykeys.read() if k > -1: if k == 112: screenshot('Triceratops.jpg') elif k == 27: mykeys.close() DISPLAY.destroy() break else: print(k) DISPLAY.swap_buffers()
# mastrix and rotate variables rot=0 #create a light mylight = Light(0,1,1,1,"",10,10,0) mylight.on() while 1: display.clear() Utility.load_identity() Utility.translatef(0,0, -40) Utility.rotatef(rot, 0, 1, 0) rot += 3 mymodel.draw() k = mykeys.read() if k >-1: if k==112: display.screenshot("Triceratops.jpg") elif k==27: mykeys.close() texs.deleteAll() display.destroy() break else: print k display.swapBuffers()
#update mouse #inputs.do_input_events() """on some keyboard mouse setups you need to use inputs.get_mouse_movement(1)""" #mx, my, mv, mh, md = inputs.get_mouse_movement() #mouserot -= mx*0.2 #tilt -= my*0.2 #tilt can be used as a means to prevent the view from going under the landscape! if tilt < -1: sf = 1.0/-tilt else: sf = 1.0 CAMERA.rotate(tilt, mouserot, 0) CAMERA.position((xm,ym,zm)) #Draw scene hall.draw() myecube.rotateIncY(0.02) #Slowly rotate sky for effect myecube.draw() #Draw environment cube #Get inputs mx, my = mymouse.position() mouserot -= (mx-omx)*0.2 tilt += (my-omy)*0.2 omx=mx omy=my try: win.update() except Exception as e: print("bye,bye2", e) DISPLAY.destroy()