コード例 #1
0
    def __init__(self, engine, id, pos = MyVector(0,0,0), mesh = 'robot.mesh', 
                                  vel = MyVector(0,0,0), yaw = 0):
        self.engine = engine
        self.id = id
        self.pos = pos
        self.vel = ogre.Vector3(0, 0, 0)
        self.mesh = mesh
        self.node  = None
        self.yaw = 0
        self.deltaSpeed = 5
        self.deltaYaw = 0.0
        self.speed = 0.0
        self.heading = 0.0
        self.aspectTypes = [Physics, Renderer, PlayerAI]
        self.aspects = []
        self.scale = ogre.Vector3(1, 1, 1)
        self.wakeSize = 'Small'
        self.hasAnimation = False

        #Make jet ski face the same way
        self.offset = 0
        self.team = 0

        #home is init start
        self.home = pos
        self.slide = False
コード例 #2
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
    def __init__(self,
                 engine,
                 id,
                 pos=MyVector(0, 0, 0),
                 mesh='robot.mesh',
                 vel=MyVector(0, 0, 0),
                 yaw=0):
        self.engine = engine
        self.id = id
        self.pos = pos
        self.vel = ogre.Vector3(0, 0, 0)
        self.mesh = mesh
        self.node = None
        self.yaw = 0
        self.deltaSpeed = 5
        self.deltaYaw = 0.0
        self.speed = 0.0
        self.heading = 0.0
        self.aspectTypes = [Physics, Renderer]
        self.aspects = []
        self.scale = ogre.Vector3(1, 1, 1)
        self.wakeSize = 'Small'

        #Make jet ski face the same way
        self.offset = 0
コード例 #3
0
 def __init__(self, engine, id, pos = MyVector(0, 0 ,0), vel = MyVector(0, 0, 0), yaw = 0, team = 0):
     self.team = team
     Entity.__init__(self, engine, id, pos = pos, vel = vel, yaw = yaw)
     print "player init"
     self.mesh = 'ninja.mesh'
     self.uiname = 'BVB' + str(BVB.id)
     BVB.id += 1
     self.acceleration = 360
     self.turningRate = 120
     self.maxSpeed = 400
     self.desiredSpeed = 0
     self.desiredHeading = 0
     self.speed = 0
     self.heading = 0
     self.wakeSize = 'Large'
     self.offset = ogre.Degree(-90)
     self.hasAnimation = True
     self.scale = ogre.Vector3(.5, .5, .5)
     self.material = "Examples/YellowTeam"
     self.color = "RedCircle"
     self.circle = None
     self.team = team        
     
     
     self.radiiNorm = 115.0
     self.radiiSlide = 200.0
コード例 #4
0
    def __init__(self, id, engine, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0):
        Entity.__init__(self, id, engine=engine, pos=pos, vel=vel, yaw=yaw)
        self.mesh = 'tank.mesh'
        self.uiname = 'TANK'
        self.eid = id
        self.yawOffset = 90
        self.acceleration = 5
        self.turningRate = 0.2
        self.maxSpeed = 20
        self.desiredSpeed = 0
        self.desiredHeading = 0
        self.speed = 0
        self.heading = 0
        self.engine = engine
        self.prey = None
        self.cannon = True
        self.missile = True
        self.checkValue = 500
        self.health = 100
        self.oElement = "Tank " + str(id)

        self.node = self.engine.gfxMgr.sceneManager.getRootSceneNode().createChildSceneNode(self.pos)
        self.ent = self.engine.gfxMgr.sceneManager.createEntity(self.eid, self.mesh)
        self.node.attachObject(self.ent)

        self.light = self.engine.gfxMgr.sceneManager.createLight('light' + self.id)
        self.light.type = ogre.Light.LT_POINT
        self.node.attachObject(self.light)
コード例 #5
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
 def __init__(self,
              name='untiled',
              pos=MyVector(0, 0, 0),
              vel=MyVector(0, 0, 0),
              mesh='untiled.mesh',
              yaw=0):
     self.name = name
     self.pos = pos
     self.vel = vel
     self.mesh = mesh
     self.yaw = yaw
     self.aspectTypes = ['Physics']
     self.aspects = [Physics(self)]
コード例 #6
0
    def __init__(self, id, engine, tankID='Null', pos=None, vel=MyVector(0, 0, 0), yaw=0):
        Entity.__init__(self, id, engine=engine, pos=pos, vel=vel, yaw=yaw)
        self.mesh = 'wallCube.mesh'
        self.material = "Examples/CannonBall"
        self.uiname = 'IWALL'
        self.eid = id
        self.yawOffset = 0
        self.acceleration = 0
        self.turningRate = 0
        self.maxSpeed = 0
        self.desiredSpeed = 0
        self.desiredHeading = 0
        self.speed = 0
        self.heading = 0
        self.engine = engine
        self.checkValue = 300
        self.tankID = tankID

        self.node = self.engine.gfxMgr.sceneManager.getRootSceneNode().createChildSceneNode(self.pos)
        self.ent = self.engine.gfxMgr.sceneManager.createEntity(self.eid, self.mesh)
        self.node.attachObject(self.ent)
        self.node.rotate(ogre.Vector3(0, 1, 0), ogre.Math.DegreesToRadians(yaw))

        self.light = self.engine.gfxMgr.sceneManager.createLight('light' + self.id)
        self.light.type = ogre.Light.LT_POINT
        self.node.attachObject(self.light)
コード例 #7
0
    def __init__(self, id, engine, tankID='Null', pos=None, vel=MyVector(0, 0, 0), yaw=0, prey = None):
        Entity.__init__(self, id, engine=engine, pos=pos, vel=vel, yaw=yaw)
        self.mesh = 'missile.mesh'
        self.material = "Examples/CannonBall"
        self.uiname = 'MISSILE'
        self.eid = id
        self.yawOffset = 90
        self.acceleration = 5
        self.turningRate = 0.2
        self.maxSpeed = 32
        self.desiredSpeed = 50
        self.desiredHeading = 0
        self.speed = 0
        self.heading = 0
        self.engine = engine
        self.prey = None
        self.checkValue = 300
        self.tankID = tankID
        from predPhysics import Predator
        self.aspects.append(Predator(self,self.engine))
        self.node = self.engine.gfxMgr.sceneManager.getRootSceneNode().createChildSceneNode(self.pos)
        self.ent = self.engine.gfxMgr.sceneManager.createEntity(self.eid, self.mesh)
        self.node.attachObject(self.ent)

        self.light = self.engine.gfxMgr.sceneManager.createLight('light' + self.id)
        self.light.type = ogre.Light.LT_POINT
        self.node.attachObject(self.light)
コード例 #8
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
 def __init__(self,
              engine,
              id,
              pos=MyVector(0, 0, 0),
              vel=MyVector(0, 0, 0),
              yaw=0):
     Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw)
     self.mesh = 'cvn68.mesh'
     self.uiname = 'CVN68'
     self.acceleration = 5
     self.turningRate = 5
     self.maxSpeed = 250
     self.desiredSpeed = 0
     self.desiredHeading = 0
     self.speed = 0
     self.heading = 0
     self.wakeSize = 'Large'
コード例 #9
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
 def __init__(self,
              engine,
              id,
              pos=MyVector(0, 0, 0),
              vel=MyVector(0, 0, 0),
              yaw=0):
     Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw)
     print "sailboat init"
     self.mesh = 'sailboat.mesh'
     self.uiname = 'SAILBOAT'
     self.acceleration = 2
     self.turningRate = 25
     self.maxSpeed = 36
     self.desiredSpeed = 0
     self.desiredHeading = 0
     self.speed = 0
     self.heading = 0
コード例 #10
0
 def game1(self):
     x = 0
     for entType in self.engine.entityMgr.entTypes:
         print "*********************GameMgr Creating*********************"  # , str(entType)
         ent = self.engine.entityMgr.createEnt(entType,
                                               pos=MyVector(x, 0, 0))
         print "GameMgr Created: ", ent.uiname, ent.id
         x += 300
コード例 #11
0
 def __init__(self, id, engine, pos=MyVector(0, 0, 0), mesh='robot.mesh', vel=MyVector(0, 0, 0), yaw=0):
     self.id = id
     self.material = None
     self.yawOffset = 0
     self.collision = False
     self.pos = pos
     self.oldpos = pos
     self.vel = vel
     self.mesh = mesh
     self.deltaSpeed = 30
     self.deltaYaw = .5
     self.speed = 0.0
     self.heading = 0.0
     self.aspects = []
     self.initAspects()
     self.engine = engine
     self.uiname = None
コード例 #12
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
 def __init__(self,
              engine,
              id,
              pos=MyVector(0, 0, 0),
              vel=MyVector(0, 0, 0),
              yaw=0):
     Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw)
     print "sleek init"
     self.mesh = 'sleek.mesh'
     self.uiname = 'SLEEK'
     self.acceleration = 12
     self.turningRate = 12
     self.maxSpeed = 120
     self.desiredSpeed = 0
     self.desiredHeading = 0
     self.speed = 0
     self.heading = 0
     self.wakeSize = 'Large'
コード例 #13
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
 def __init__(self,
              engine,
              id,
              pos=MyVector(0, 0, 0),
              vel=MyVector(0, 0, 0),
              yaw=0):
     Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw)
     #print "ddg51 init"
     self.mesh = 'ddg51.mesh'
     self.uiname = 'DDG51'
     self.acceleration = 7
     self.turningRate = 15
     self.maxSpeed = 150
     self.desiredSpeed = 0
     self.desiredHeading = 0
     self.speed = 0
     self.heading = 0
     self.wakeSize = 'Large'
コード例 #14
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
 def __init__(self,
              engine,
              id,
              pos=MyVector(0, 0, 0),
              vel=MyVector(0, 0, 0),
              yaw=0):
     Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw)
     print "Boat5086 init"
     self.mesh = '5086_Boat.mesh'
     self.uiname = 'BOAT2'
     self.acceleration = 10
     self.turningRate = 30
     self.maxSpeed = 50
     self.desiredSpeed = 0
     self.desiredHeading = 0
     self.speed = 0
     self.heading = 0
     self.scale = ogre.Vector3(2, 2, 2)
コード例 #15
0
    def createEnt(self, entType, pos=MyVector(0, 0, 0), yaw=0):
        ent = entType(self.engine, self.nEnts, pos=pos, yaw=yaw)
        ent.init()
        self.entities[self.nEnts] = ent
        self.selectedEnt = ent
        self.selectedEntIndex = self.nEnts

        self.nEnts = self.nEnts + 1
        return ent
コード例 #16
0
    def __init__(self, engine, id, pos = MyVector(0, 0 ,0), vel = MyVector(0, 0, 0), yaw = 0, team = 0):
        Entity.__init__(self, engine, id, pos = pos, vel = vel, yaw = yaw)
        print "player init"
        self.mesh = 'WireFrameTopStad.mesh'
        self.uiname = 'Top' + str(TopStad.id)
        TopStad.id += 1
        self.acceleration = 0
        self.turningRate = 0
        self.maxSpeed = 0
        self.desiredSpeed = 0
        self.desiredHeading = 0
        self.speed = 0
        self.heading = 0
        self.wakeSize = 'Large'
        self.offset = ogre.Degree(90)
        
        #self.scale = ogre.Vector3(1, 1, 1)

        self.scale = ogre.Vector3(50, 50, 50)
コード例 #17
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
    def __init__(self,
                 engine,
                 id,
                 pos=MyVector(0, 0, 0),
                 vel=MyVector(0, 0, 0),
                 yaw=0):
        Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw)
        print "boat init"
        self.mesh = 'boat.mesh'
        self.uiname = 'BOAT'
        self.acceleration = 10
        self.turningRate = 10
        self.maxSpeed = 30
        self.desiredSpeed = 0
        self.desiredHeading = 0
        self.speed = 0
        self.heading = 0

        self.wakeSize = 'Medium'
コード例 #18
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
    def __init__(self,
                 engine,
                 id,
                 pos=MyVector(0, 0, 0),
                 vel=MyVector(0, 0, 0),
                 yaw=0):
        Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw)
        print "cigarette init"
        self.mesh = 'cigarette.mesh'
        self.uiname = 'CIGARETTE'
        self.acceleration = 30
        self.turningRate = 45
        self.maxSpeed = 150
        self.desiredSpeed = 0
        self.desiredHeading = 0
        self.speed = 0
        self.heading = 0

        self.wakeSize = 'Medium'
コード例 #19
0
    def __init__(self, engine, id, pos = MyVector(0, 0 ,0), vel = MyVector(0, 0, 0), yaw = 0, team = 0):
        Entity.__init__(self, engine, id, pos = MyVector(3200, 100, 0), vel = vel, yaw = yaw)
        print "player init"
        self.mesh = "goals.mesh"
        self.uiname = 'postR' + str (postR.id)
        postR.id += 1
        self.acceleration = 0
        self.turningRate = 0
        self.maxSpeed = 0
        self.desiredSpeed = 0
        self.desiredHeading = 0
        self.speed = 0
        self.heading = 0
        self.wakeSize = 'Large'
        self.offset = ogre.Degree(180)
        
        #self.scale = ogre.Vector3(1, 1, 1)

        self.scale = ogre.Vector3(50, 50, 50)
コード例 #20
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
    def __init__(self,
                 engine,
                 id,
                 pos=MyVector(0, 0, 0),
                 vel=MyVector(0, 0, 0),
                 yaw=0):
        Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw)
        print "alienship init"
        self.mesh = 'alienship.mesh'
        self.uiname = 'ALIEN'
        self.acceleration = 150
        self.turningRate = 25
        self.maxSpeed = 700
        self.desiredSpeed = 0
        self.desiredHeading = 0
        self.speed = 0
        self.heading = 0
        self.scale = ogre.Vector3(15, 15, 15)

        self.wakeSize = 'Large'
コード例 #21
0
ファイル: entityMgr.py プロジェクト: rivasalvarez/381Final
    def createEnt(self, entType, pos=MyVector(0, 0, 0), yaw=0):
        ent = entType(str(self.nEnts), engine=self.engine, pos=pos, yaw=yaw)

        self.ents[self.nEnts] = ent
        self.selectedEnt = ent
        self.currentSelectedEntIndex = self.nEnts
        if (len(self.selectedEntIndecies) > 0):
            self.selectedEntIndecies.pop()
        self.selectedEntIndecies.append(ent)
        self.nEnts = self.nEnts + 1
        return ent
コード例 #22
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
    def __init__(self,
                 engine,
                 id,
                 pos=MyVector(0, 0, 0),
                 vel=MyVector(0, 0, 0),
                 yaw=0):
        Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw)
        print "Watercr init"
        self.mesh = '4685_Personal_Watercr.mesh'
        self.uiname = 'JETSKI'
        self.acceleration = 10
        self.turningRate = 35
        self.maxSpeed = 40
        self.desiredSpeed = 0
        self.desiredHeading = 0
        self.speed = 0
        self.heading = 0
        self.offset = ogre.Degree(90)
        self.scale = ogre.Vector3(.5, .5, .5)

        self.wakeSize = 'Medium'
コード例 #23
0
 def __init__(self, engine, id, pos = MyVector(0,0,0), vel = MyVector(0,0,0), yaw = 0, team = 0):
     Entity.__init__(self, engine, id, pos = MyVector(0,25,0), vel = vel, yaw = yaw) 
     self.mesh = 'sphere.mesh'
     self.uiname = 'Ball' + str(Ball.id)
     Ball.id += 1
     self.acceleration = 250
     self.turningRate = 30
     self.maxSpeed = 1000
     self.desiredSpeed = 0
     self.desiredHeading = 90
     self.speed = 0
     self.heading = 90    
     self.wakeSize = 'Large'
     self.scale = ogre.Vector3(.5, .5, .5)
     self.wakeSize = 'Large'
     self.pitch = 0.0
     self.spin = 0.0
     self.attachEnt = None
     self.toggle = 0.0
     self.radiiNorm = 25.0
     self.radiiSlide = 25.0
コード例 #24
0
ファイル: ent.py プロジェクト: bandithxi/GameEnginePipeline
    def __init__(self,
                 engine,
                 id,
                 pos=MyVector(0, 0, 0),
                 vel=MyVector(0, 0, 0),
                 yaw=0):
        Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw)
        print "MONTEREY INIT"
        self.mesh = '3699_Monterey_189_92.mesh'
        self.uiname = 'MONTEREY'
        self.acceleration = 7
        self.turningRate = 35
        self.maxSpeed = 60
        self.desiredSpeed = 0
        self.desiredHeading = 0
        self.speed = 0
        self.heading = 0
        self.scale = ogre.Vector3(2, 2, 2)
        self.offset = ogre.Degree(90)

        self.wakeSize = 'Medium'
コード例 #25
0
    def loadMap(self):
        entityMgr = self.engine.entityMgr
        wallMaterial = "Examples/CannonBall"
        #Create 4 walls at edge of map
        entity = entityMgr.createEnt(ent.OutterWall, pos=MyVector(-5000,100,0),yaw=90)
        entity.setMaterial(wallMaterial)
        entity = entityMgr.createEnt(ent.OutterWall, pos=MyVector(5000,100,0),yaw=90)
        entity.setMaterial(wallMaterial)
        entity = entityMgr.createEnt(ent.OutterWall, pos=MyVector(0,100,-5000))
        entity.setMaterial(wallMaterial)
        entity = entityMgr.createEnt(ent.OutterWall, pos=MyVector(0,100,5000))
        entity.setMaterial(wallMaterial)

	#Create 9 extra walls
	self.size = 10
	self.makeWall(direction = 'H', size = self.size,x = -1000,z=0)
	self.makeWall(direction = 'V', size = self.size,x = -2000,z=-1000)
	self.makeWall(direction = 'V', size = self.size,x = 2000,z=-1000)
	self.makeWall(direction = 'V', size = self.size,x = 3000,z=-4000)
	self.makeWall(direction = 'V', size = self.size,x = 0,z=-4000)
	self.makeWall(direction = 'V', size = self.size,x = -3000,z=-4000)
	self.makeWall(direction = 'V', size = self.size,x = 3000,z=2000)
	self.makeWall(direction = 'V', size = self.size,x = 0,z=2000)
	self.makeWall(direction = 'V', size = self.size,x = -3000,z=2000)
コード例 #26
0
    def makeWall(self, direction, size, x, z):
	entityMgr = self.engine.entityMgr
        wallMaterial = "Examples/CannonBall"

	for count in range(1, size+1):
	    if direction == 'V':
		xpos = x
		zpos = (count * 200)+100+z
		
            else:
		xpos = (count * 200)+100+x
		zpos = z

	    if xpos < 5000 and xpos > -5000 and zpos < 5000 and zpos > -5000:
		    entity = entityMgr.createEnt(ent.InnerWall, pos=MyVector(xpos,150,zpos),yaw=0)
		    entity.setMaterial(wallMaterial)
コード例 #27
0
def main():
    entities = []

    for i in range(0, 2):
        entities.append(Entity("Entity" + str(i), vel=MyVector(10, 0.0, 0.0)))

    oldTime = time.time()

    for i in range(2000):
        #time.sleep(1)
        now = time.time()
        dtime = now - oldTime
        oldTime = now

        for ent in entities:
            ent.tick(dtime)
            print str(ent)
コード例 #28
0
    def squaredDistance(self,box,v):
        if box.contains(v):
            return 0;
        else:
            maxDist = MyVector(0,0,0)

            if (v.x < box.getMinimum().x):
                maxDist.x = box.getMinimum().x - v.x;
            elif (v.x > box.getMaximum().x):
                maxDist.x = v.x - box.getMaximum().x;
            if (v.y < box.getMinimum().y):
                maxDist.y = box.getMinimum().y - v.y;
            elif (v.y > box.getMaximum().y):
                maxDist.y = v.y - box.getMaximum().y;
             
            if (v.z < box.getMinimum().z):
                maxDist.z = box.getMinimum().z - v.z;
            elif (v.z > box.getMaximum().z):
                maxDist.z = v.z - box.getMaximum().z;
            return maxDist.squaredLength();
コード例 #29
0
    def createEnt(self, entType, pos=MyVector(0, 0, 0), yaw=0, team=0):
        ent = entType(self.engine, self.nEnts, pos=pos, yaw=yaw, team=team)
        ent.init()

        self.entities[self.nEnts] = ent
        self.selectedEnt = ent
        self.selectedEntIndex = self.nEnts

        self.nEnts = self.nEnts + 1

        if (team == 1):
            print ent
            self.team1[self.nP1] = ent
            ent.team = 1
            self.nP1 += 1
        elif (team == 2):
            self.team2[self.nP2] = ent
            self.nP2 += 1
            ent.team = 2

        if (ent.mesh == "sphere.mesh"):
            self.ball = ent

        return ent
コード例 #30
0
 def shootMissile(self):
     ent = self.engine.entityMgr.createEnt(Missile, pos=MyVector(self.pos.x, 250, self.pos.z))
     ent.setMaterial("Examples/Missile")
     ent.tankID = self.eid
     ent.desiredHeading = self.desiredHeading
コード例 #31
0
 def shoot(self):
     ent = self.engine.entityMgr.createEnt(CannonBall, pos=MyVector(self.pos.x, 250, self.pos.z))
     ent.setMaterial("Examples/Camo1")
     ent.tankID = self.eid
     ent.desiredHeading = self.desiredHeading