background image

 

 

70 

 

 

    font_path =resource_path( "sprites/AnonymousPro.ttf") 

    font = pygame.font.Font(font_path, 20) 
    intro_music_path = resource_path("sprites/intro.mp3") 
    story_image=pygame.image.load(resource_path 

         ("sprites/story.png")) 

    #scale the image to fit screen 
    story_image=.transform.scale(story_image,(700, 700))   

 

 

Έπειτα, με τη χρήση του ήχου πραγματοποιείται η αφήγηση με μουσική υπόκρουση 

στο παρασκήνιο.  

   pygame.mixer.init() 

   intro_music_path = resource_path("sprites/intro.mp3") 
   pygame.mixer.music.load(intro_music_path) 
   pygame.mixer.music.set_volume(0.02) 

   pygame.mixer.music.play(1) 
   narraror_voice_path=resource_path("sprites/narrator.mp3") 
   narraror_voice = pygame.mixer.Sound(narraror_voice_path) 

 

 

Το  κείμενο  της  ιστορίας  εμφανίζεται  διαδοχικά  μέσω  της  λίστας  text_blocks,  όπου  κάθε 

στοιχείο περιλαμβάνει το κείμενο της αφήγησης και τη διάρκεια εμφάνισης σε χιλιοστά του 

δευτερολέπτου. Ο συγχρονισμός του κειμένου με τον ήχο της αφήγησης συγχρονίζεται με τη 

χρήση του pygame.time.get_ticks(). 

  text_blocks = [ 

     ("The hero …,5000), 
     ("Their journey …,6000),… 
   for text, duration in text_blocks: 

     start_time = pygame.time.get_ticks() 
     while pygame.time.get_ticks() - start_time < duration: 

 

     text_surface = font.render(text, True, WHITE) 

       text_rect=text_surface.get_rect(midtop=(WIDTH//2, 20)) 

            screen.blit(text_surface, text_rect) 

 

Τέλος,  δίνεται  δυνατότητα  στο  χρήστη  να  παρακάμψει  την  εισαγωγή  του  παιχνιδιού,  είτε 

κάνοντας κλικ με το ποντίκι πάνω στο κουμπί Skip, είτε πατώντας το πλήκτρο Enter. Σταματάει 

να παράγεται η φωνή του αφηγητή και να τρέχει η intro(). 

elif event.type == pygame.MOUSEBUTTONDOWN: 

   mouse_x, mouse_y = event.pos 
  if button_x<=mouse_x <= button_x + button_width and button_y  
  <= mouse_y <= button_y + button_height: 

  #stop the narrator's sound via click on skip button 
     narraror_voice.stop()   
     running = False 
  elif event.type == pygame.KEYDOWN: 

     if event.key == pygame.K_RETURN: 
   #stop the narrator's sound via pressing on enter key 
        narraror_voice.stop() 
        running = False