def update(self):
		self.countdown -= 1
		globalvars.player.destination = self.player_destination
		#print globalvars.player.theta
		if globalvars.player.closest_sprite != self.most_recent_closest:
			self.most_recent_closest = globalvars.player.closest_sprite
			print 'Closest is now: '+str(self.most_recent_closest)
		if self.countdown < 0:
			#reset countdown
			self.countdown = globalvars.FPS*15

			#clears all sprite groups again.
			wipeOldScenario()
			#Add self back in
			globalvars.intangibles_bottom.add(self)
			#Draw the new background and flip the whole screen.
			globalvars.screen.fill(globalvars.BGCOLOR)
			pygame.display.flip()
			resetDust()

			globalvars.player.theta = 0.0
			#globalvars.player.speed = 2.0
			#globalvars.player.targetSpeed = 2.0
			#globalvars.player.maxSpeed = 2.0

			#puts in rocks at fixed places.
			numbers = dict()
			numbers['enemy'] = 0
			numbers['crystal'] = 5
			numbers['large_asteroid'] = 20
			numbers['medium_asteroid'] = 30
			numbers['small_asteroid'] = 40
			numbers['gold_metal'] = 5
			numbers['silver_metal'] = 6
			numbers['health'] = 7
			numbers['capital_ship'] = 0
			#Populate space in a semi narrow corridor between the player and the finish line
			course_length = 8000 #pixels
			course_height = 1000 #pixels
			#Midway between player and destination
			midway = (course_length/2, 0)
			hudHelpers.populateSpace(objects=numbers,\
				width=course_length, \
				height=course_height,\
				center=globalvars.player.rect.center,\
				seed=self.phase)
			self.phase += 1
	def update(self):
		self.countdown -= 1
		globalvars.player.destination = self.player_destination
		if self.countdown < 0:
			#reset countdown
			self.countdown = globalvars.FPS*5
			#Transition to next phase
			if self.phase == 0:
				#Puts in dust and gives player ship motion.
				resetDust()
				globalvars.player.theta = 0.0
				globalvars.player.speed = 10.0
				globalvars.player.targetSpeed = 10.0
				self.phase += 1
			elif self.phase == 1:
				#puts in rocks at fixed places.
				numbers = dict()
				numbers['enemy'] = 0
				numbers['crystal'] = 5
				numbers['large_asteroid'] = 20
				numbers['medium_asteroid'] = 30
				numbers['small_asteroid'] = 40
				numbers['gold_metal'] = 5
				numbers['silver_metal'] = 6
				numbers['health'] = 7
				numbers['capital_ship'] = 0
				#Populate space in a semi narrow corridor between the player and the finish line
				course_length = 8000 #pixels
				course_height = 1000 #pixels
				#Midway between player and destination
				midway = (course_length/2, 0)
				hudHelpers.populateSpace(objects=numbers,\
					width=course_length, \
					height=course_height,\
					center=globalvars.player.rect.center,\
					seed=0)
				self.phase += 1
			elif self.phase == 2:
				#puts in ships at fixed places.
				#puts in rocks at fixed places.
				numbers = dict()
				numbers['enemy'] = 10
				numbers['crystal'] = 0
				numbers['large_asteroid'] = 0
				numbers['medium_asteroid'] = 0
				numbers['small_asteroid'] = 0
				numbers['gold_metal'] = 0
				numbers['silver_metal'] = 0
				numbers['health'] = 0
				numbers['capital_ship'] = 1
				#Populate space in a semi narrow corridor between the player and the finish line
				course_length = 8000 #pixels
				course_height = 1000 #pixels
				#Midway between player and destination
				midway = (course_length/2, 0)
				hudHelpers.populateSpace(objects=numbers,\
					width=course_length, \
					height=course_height,\
					center=globalvars.player.rect.center,\
					seed=0)
				self.phase += 1
			elif self.phase == 3:
				#clears all sprite groups again.
				wipeOldScenario()
				#Add self back in
				globalvars.intangibles_bottom.add(self)
				#Draw the new background and flip the whole screen.
				globalvars.screen.fill(globalvars.BGCOLOR)
				pygame.display.flip()
				resetDust()
				#5 seconds of lots of explosions everywhere.
				self.phase += 1
			elif self.phase == 4:
				#prints graphical data straight to file.
				if sys.platform != 'darwin': #This is not working on my mac for some reason
					import matplotlib.pyplot as plt
					plt.plot(globalvars.dirty_rect_size)
					plt.xlabel('Frames')
					plt.ylabel('Number of dirty rects')
					plt.savefig('profiling/dirty_rect_size.jpeg') #plt.show()
					plt.clf()
					plt.plot(globalvars.time_lapses, 'ro')
					plt.xlabel('Frames')
					plt.ylabel('Tick length')
					plt.savefig('profiling/tick_lengths.jpeg') #plt.show()
					plt.clf()
				exit()
		if self.phase == 4:
			x,y = getCoordsNearLoc(globalvars.player.rect.center, 50, 
				globalvars.WIDTH, globalvars.WIDTH)
			globalvars.intangibles_top.add(objInstances.Explosion(x=x,y=y))