#!/usr/bin/python import sys,os sys.path.insert(0, os.path.abspath(os.path.join(os.getcwd(), '..', 'src'))) import pyworlds.worlds as w from pyworlds.basics.body import * from soya.sdlconst import * w.init() sword = PhysicsBody(mesh_file="sword") sword.rotation[1]=90.0 sword.rotation[0]=17.0 sword.rotation[2]=3.0 w.camera.set_xyz(0,0,5) time = 0 @sword.addloopcall def swordloop(t): if t==0: return 0; if K_UP in w.KEY: sword.rotation[0]+=200*t if K_DOWN in w.KEY: sword.rotation[0]-=200*t if K_LEFT in w.KEY: sword.rotation[1]+=200*t if K_RIGHT in w.KEY: sword.rotation[1]-=200*t if K_RSHIFT in w.KEY: sword.rotation[2]+=200*t if K_RCTRL in w.KEY: sword.rotation[2]-=200*t
#!/usr/bin/python import sys,os sys.path.insert(0, os.path.abspath(os.path.join(os.getcwd(), '..', 'src'))) import pyworlds.worlds as worlds from pyworlds.worlds import sdlconst,soya import soya.widget as widget worlds.init() class Level(soya.World): """A game level. Level is a subclass of soya.World. According to the game you are working on, you'll probably want to add attributes and methods to the level class.""" def create_level(): """This function creates and saves the game skeleton demo level.""" # Create a level object level = Level() # Separates static and non static parts # This will speed up network games, since only the non static part will be # sent on the network level_static = soya.World(level) # Load 3 materials (= textures) for files ./materials{grass|ground|snow}.data grass = soya.Material.get("grass")