コード例 #1
0
ファイル: game.py プロジェクト: rappie/platformo
class Game(object):
	"""De main klasse van het spel.
		Hier worden alle basis dingen zoals het level en de player en de camera
		in bijgehouden. Met 'run()' kan je de main loop starten.
	"""
	
	def __init__(self, screen, gui):
		self.screen = screen
		self.gui = gui

		# Maak level aan.
		self.level = Level()

		# Bepaal rect van de Player.
		initialX = 1*settings.TILE_WIDTH
		initialY = (settings.LEVEL_HEIGHT-2)*settings.TILE_HEIGHT
		playerRect = pygame.Rect(initialX, initialY, settings.PLAYER_WIDTH, settings.PLAYER_HEIGHT)

		# Maak player aan.
		self.player = Player(self.level, playerRect)
		self.level.setPlayer(self.player)

		# Maak een camera object aan.
		self.camera = Camera(self)

	def handleInput(self, events):
		"""Input afhandelen.
			Dit sturen we allemaal rechtstreeks door naar de input state.
		"""
		inputState.handleInput(events)
		
	
	def update(self):
		"""Update het spel/level.
		"""
		
		# Update alle game objects (Actors).
		gameObjectsToUpdate = self.level.getActorList()
		gameObjectsToUpdate.append(self.player)
		for gameObject in gameObjectsToUpdate:
			gameObject.update()
		
		# Update de camera.
		self.camera.update()
	
	def draw(self):
		"""Tekenen.
		"""
		self.camera.draw()
			
	def getScreen(self):
		"""Return het screen object.
		"""
		return self.screen
	
	def getCurrentLevel(self):
		"""Return het huidige level.
		"""
		return self.level
	
	def getClock(self):
		"""Return de clock.
		"""
		return self.gui.getClock()