本文整理汇总了Python中Map.Map.getPylonList方法的典型用法代码示例。如果您正苦于以下问题:Python Map.getPylonList方法的具体用法?Python Map.getPylonList怎么用?Python Map.getPylonList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Map.Map
的用法示例。
在下文中一共展示了Map.getPylonList方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Game
# 需要导入模块: from Map import Map [as 别名]
# 或者: from Map.Map import getPylonList [as 别名]
#.........这里部分代码省略.........
self.physicsSpace = OdeHashSpace()
self.physicsSpace.setAutoCollideWorld(self.physicsWorld)
self.contactGroup = OdeJointGroup()
self.physicsSpace.setAutoCollideJointGroup(self.contactGroup)
def LoadHUD(self):
# self.player1HUD = OnscreenText(
# text = "Player 1: " + str( self.ship1.getPoints() ),
# fg = (1,1,1,1),
# #pos = ( x, y )
# pos = (0.5,0.6),
# align = TextNode.ALeft,
# scale = Game.HUD_TEXT_SCALE
# )
# self.player2HUD = OnscreenText(
# text = "Player 2: " + str( self.ship2.getPoints() ),
# fg = (1,1,1,1),
# pos = (-0.5,0.6),
# align = TextNode.ALeft,
# scale = Game.HUD_TEXT_SCALE
# )
self.winnerText = OnscreenText(
text = "Tekstia, tekstia, tekstia",
fg = (1,1,1,1),
pos = (-0.25, 0),
align = TextNode.ALeft,
scale = Game.HUD_TEXT_SCALE
)
self.winnerText.hide()
# def updateHUD(self):
# self.player1HUD = OnscreenText(
# text = "Player 1: " + str( self.ship1.getPoints() ),
# fg = (1,1,1,1),
# pos = (0.5,0.6),
# align = TextNode.ALeft,
# scale = Game.HUD_TEXT_SCALE
# )
# self.player2HUD = OnscreenText(
# text = "Player 2: " + str( self.ship2.getPoints() ),
# fg = (1,1,1,1),
# pos = (-0.5,0.6),
# align = TextNode.ALeft,
# scale = Game.HUD_TEXT_SCALE
# )
def loadLights(self):
light1 = DirectionalLight('light1')
lightNode1 = render.attachNewNode(light1)
light1.setDirection( Vec3(-1, 0.5, -0.25) )
light1.setColor( Vec4(0.5, 0.9, 0.9, 0) )
render.setLight(lightNode1)
#checks all collectibles for possible collisions with ships
def checkAllCollectibles(self):
for collectible in self.collectibleList:
collectible.hitShips(self.shipList)
#updates all collectible positions
def updateAllCollectibles(self):
for collectible in self.collectibleList:
collectible.update(Game.UPDATE_RATE)
#apply forces to all collectibles
## def applyForceAllCollectibles(self):
## for collectible in self.collectibleList:
## collectible.applyForces()
def applyForceAllShips(self):
for ship in self.shipList:
ship.applyForces()
#updates all ship positions
def updateAllShips(self):
for ship in self.shipList:
ship.update(Game.UPDATE_RATE)
#checks all pylons for possible collisions with ships
def checkAllPylons(self):
for pylon in self.map.getPylonList():
pylon.checkCollisionList(self.shipList)
def loop(self, task):
self.applyForceAllShips()
self.physicsSpace.autoCollide()
self.checkAllCollectibles()
self.map.getBase1().checkCollision(self.ship1)
self.map.getBase2().checkCollision(self.ship2)
self.checkAllPylons()
self.physicsWorld.quickStep(Game.UPDATE_RATE)
self.updateAllShips()
self.updateAllCollectibles()
self.contactGroup.empty()
return task.cont
示例2: Game
# 需要导入模块: from Map import Map [as 别名]
# 或者: from Map.Map import getPylonList [as 别名]
#.........这里部分代码省略.........
#checks all collectibles for possible collisions with ships
def checkAllCollectibles(self, shipList):
for collectible in self.collectibleList:
collectible.hitShips(shipList)
#updates all collectible positions
def updateAllCollectibles(self):
for collectible in self.collectibleList:
collectible.update(Game.UPDATE_RATE)
def applyForceAllShips(self, shipList):
for ship in shipList:
ship.applyForces()
#updates all ship positions
def updateAllShips(self, shipList):
for ship in shipList:
ship.update(Game.UPDATE_RATE)
shipList[0].shipsCollide(shipList[1])
#checks all pylons for possible collisions with ships
def checkAllPylons(self, pylonList, shipList):
for pylon in pylonList:
pylon.checkCollisionList(shipList)
def loop(self, task):
self.applyForceAllShips(self.shipList)
self.physicsSpace.autoCollide()
self.checkAllCollectibles(self.shipList)
self.map.getBase1().checkCollision(self.ship1, self.collectibleList)
self.map.getBase2().checkCollision(self.ship2, self.collectibleList)
self.checkAllPylons(self.map.getPylonList(), self.shipList)
self.physicsWorld.quickStep(Game.UPDATE_RATE)
self.updateAllShips(self.shipList)
self.updateAllCollectibles()
self.contactGroup.empty()
return task.cont
def toggleAI(self):
if taskMgr.hasTaskNamed('Simple AI'):
taskMgr.remove('Simple AI')
return
taskMgr.add( self.chaseBallsAround, name='Simple AI', sort=None,
extraArgs=(self.ship1, self.ship2, self.collectibleList, self.map.getBase1()),
priority=None, uponDeath=None, appendTask=True, taskChain=None, owner=None)
def chaseBallsAround(self, chaser, enemy, chaseList, base, task):
pos = chaser.getPos()
nearestNormedPos = 1e10000 #represents infinity
nearestRelPos = [0,0]
if chaser.hasBall():
chasePos = base.getPos()
nearestRelPos = [ pos[0] - chasePos[0], pos[1] - chasePos[1] ]
elif enemy.hasBall():
chasePos = enemy.getPos()
nearestRelPos = [ pos[0] - chasePos[0], pos[1] - chasePos[1] ]
else:
for collectible in chaseList:
chasePos = collectible.getPos()
relPos = [ pos[0] - chasePos[0], pos[1] - chasePos[1] ]
if (math.fabs(relPos[0]) + math.fabs(relPos[1])) < nearestNormedPos:
nearestNormedPos = math.fabs(relPos[0]) + math.fabs(relPos[1])
nearestRelPos = relPos
if nearestRelPos[0] > 0: