当前位置: 首页>>代码示例>>Python>>正文


Python Cluster.removeGameObject方法代码示例

本文整理汇总了Python中cluster.Cluster.removeGameObject方法的典型用法代码示例。如果您正苦于以下问题:Python Cluster.removeGameObject方法的具体用法?Python Cluster.removeGameObject怎么用?Python Cluster.removeGameObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在cluster.Cluster的用法示例。


在下文中一共展示了Cluster.removeGameObject方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Level

# 需要导入模块: from cluster import Cluster [as 别名]
# 或者: from cluster.Cluster import removeGameObject [as 别名]
class Level(object):
	"""Object voor een level.
		
		Hierin staat opgeslagen waar alle bricks zitten.
	
	"""
	
	def __init__(self):
		
		# Player object.
		self.player = None
		
		# Boolean voor of je het level hebt gehaald.
		self.finished = False
		
		# Bepaal de rect van het gehele level.
		self.rect = pygame.Rect(0, 0, settings.TILE_WIDTH*settings.LEVEL_WIDTH, settings.TILE_HEIGHT*settings.LEVEL_HEIGHT)
		
		# Bepaal de lijst met alle game objects van dit level.
		#
		# Dit doen we door eerst een levelmap te genereren met een level-
		# generator. Vervolgens lopen we de level map door en maken we alle game
		# objects aan.
		#
		levelMap = levelgenerator.generateLevelMap()
		gameObjectList = self.getGameObjectListFromLevelMap(levelMap)
		
		# Maak cluster aan waar alle game objects in worden opgeslagen.
		staticObjectList = [k for k in gameObjectList if isinstance(k, Actor) == False]
		self.cluster = Cluster(self, staticObjectList, self.rect)

		# Maak lijst aan met alle actors.
		self.actorList = [k for k in gameObjectList if isinstance(k, Actor) == True]

	def getGameObjectListFromLevelMap(self, levelMap):
		"""Return lijst met alle game objects beschreven in 'levelMap'.
		"""
		# De lijst met game objects die we gaan returnen.
		gameObjectList = []
		
		# Loop door alle tiles heen.
		for y in xrange(len(levelMap)):
			for x in xrange(len(levelMap[0])):
				
				# Bepaal de x/y positie.
				posX = x * settings.TILE_WIDTH
				posY = y * settings.TILE_HEIGHT

				# Haal tile op.
				tile = levelMap[y][x]
				
				# Loop door alle game object id's in de tile heen.
				for gameObjectId in tile:
					
					# Bepaal de class van het game object.
					gameObjectClass = ID_TO_OBJECT_CLASS[gameObjectId]
					
					# Maak aan en zet in de lijst.
					gameObjectRect = pygame.Rect(posX, posY, settings.TILE_WIDTH, settings.TILE_HEIGHT)
					gameObject = gameObjectClass(self, gameObjectRect)
					gameObjectList.append(gameObject)
		
		# Return de game objects.
		return gameObjectList

	def getGameObjectList(self, clusterCollisionRect):
		"""Return alle game objects.
			Er worden alleen statische game objects gereturned die colliden met
			'clusterCollisionRect'. Daarnaast worden alle actors gereturned.
		"""
		gameObjectList = self.cluster.getGameObjectList(clusterCollisionRect)
		gameObjectList += self.getActorList()
		return gameObjectList

	def removeGameObject(self, gameObject):
		"""Verwijder een game object uit het level.
		"""
		if isinstance(gameObject, Actor):
			self.actorList.remove(gameObject)
		else:
			self.cluster.removeGameObject(gameObject)
		
	def getActorList(self):
		"""Return lijst met alle actors.
		"""
		return self.actorList[:]

	def setFinished(self, finished):
		"""Set of het level is gehaald.
		"""
		self.finished = finished

	def isFinished(self):
		"""Return of je het level hebt gehaald.
		"""
		return self.finished

	def getPlayer(self):
		"""Return het player object.
		"""
#.........这里部分代码省略.........
开发者ID:rappie,项目名称:platformo,代码行数:103,代码来源:level.py


注:本文中的cluster.Cluster.removeGameObject方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。