Пример #1
0
#!/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
Пример #2
0
#!/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")