我的代码有些问题,我只想在pygame中使用一个事件,因为此刻我有几个。但是我不知道如何只在主循环中制作事件,所以我如果有人可以帮助我会感激(代码(两个类)被剪切,只显示我的事件,所以如果有谁知道写主要功能只使用一个事件)
def time_out(self):
#pausar programmet samt möjligheter att att spela vidare eller inte
pygame.mixer.Sound.play(self.pause_ljud)
pygame.mixer.music.pause()
pygame.mixer.Sound.play(self.klick_ljud)
#pausar bakgrundsmusik och spelar pauseljudet
bigText = pygame.font.Font("SMB_font.ttf", 155)
TextSurf, TextRect = self.Set.text_item("Paused", bigText)
TextRect.center = ((self.inst.screen_width/2) (self.inst.skärm_height/2))
self.Set.gameScreen.blit(TextSurf, TextRect)
#pause lokalisering samt utseende
while self.pause:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
#gameDisplay.fill(white)
self.Set.button("Fortsätt", (self.Set.screen_width/2-60),370,120,50, self.Set.green, self.Set.light_green, self.time_in)
self.Set.button("Avsluta", (self.Set.screen_width/2-60),470,120,50, self.Set.red, self.Set.light_red, self.finish_game)
#knapparnas utseende samt text
pygame.display.update()
self.klocka.tick(15)
def crash(self):
#Controlle crash ljud, text, valmöjligheter
pygame.mixer.music.play(-1)
pygame.mixer.music.stop()
pygame.mixer.Sound.play(self.gameOver_ljud)
bigText = pygame.font.Font("SMB_font.ttf", 80)
TextSurf, TextRect = self.Set.text_item("Welcome to the walking dead", bigText)
TextRect.center = ((self.Set.screen_width/2), (self.inst.screen_height/2))
self.inst.gameScreen.blit(TextSurf, TextRect)
#textens utseeend vid krasch
crash = False
while not crash:
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
self.spel_slinga()
self.inst.button("Nytt spel", (self.Set.screen_width/2-60),350,120,50, self.Set.green,self.Set.light_green, self.game_loop)
self.inst.button("Avsluta", (self.Set.screen_width/2-60),450,120,50, self.Set.red, self.Set.light_red, self.finish_game)
#knappar som dyker upp vid krasch
pygame.display.update()
self.klocka.tick(15)
def game_intro(self):
#controlls intro-function
pygame.mixer.music.play(-1)
self.mouse = pygame.mouse.get_pos()
intro = True
while intro:
for event in pygame.event.get():
if event.type == pygame.QUIT:
self.game_loop()
self.Set.gameScreen.blit(self.intro_bakgrund, [0,0])
bigText = pygame.font.Font("SMB_font.ttf", 70)
TextSurf, TextRect = self.Set.text_item("Stay Alive", bigText)
TextRect.center = ((self.Set.screen_width/2), (self.inst.skärm_height/2))
self.Set.gameScreen.blit(TextSurf, TextRect)
#intr textens utseende
self.Set.button("Starta", (self.Set.screen_width/2-60),350,120,50, self.Set.green, self.Set.light_green, self.game_loop)
self.Set.button("Avsluta", (self.Set.screen_width/2-60),450,120,50, self.Set.red, self.Set.light_red, self.finish_game)
#knapparnas utseende och uppgift
pygame.display.update()
self.klocka.tick(15)
def game_loop(self):
#spelslingans utseende och spelfunktioner
self.pause
pygame.mixer.Sound(self.klick_ljud)
pygame.mixer.music.play(-1)
spel_bakground = pygame.image.load("spel_walking.jpg")
x = random.randrange(0, self.inst.screen_width)
y = (self.inst.screen_height - 188 )
#avgör spelfigurens startläge
x_change = 0
y_change = 0
#startvärde för ändring av spelfigures läge i x och y
figure_width = 75
figure_height = 188
#figurens storlek
zombie_width = 120
zombie_hight = 194
zombie_starty = -600
zombie_startx = random.randrange(0,self.inst.skärm_bredd-zombie_bredd)
zombie_speed = 4
#var hindret startar och storlek
dodged = 0
gameExistence = False
while not spelExistens:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x_change = -6
if event.key == pygame.K_RIGHT:
x_change = 6
if event.key == pygame.K_UP:
y_change = -6
if event.key == pygame.K_DOWN:
y_change = 6
if event.key == pygame.K_p:
self.pause = True
self.time_out()
if event.key == pygame.K_ESCAPE:
pygame.quit()
quit()
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
x_change = 0
if event.key == pygame.K_UP or event.key == pygame.K_DOWN:
y_change = 0
#styr spelfigurens rörelse samt knapp för pausefunktion
x += x_change
y += y_change
#nya värden för spelfigurens position efter styrning av tangentbordet
self.Set.spelSkärm.blit(spel_bachground, [0,0])
#bakgrunden först, placerar bakgrund bakom figurerna och anger vad utgår ifrån
self.Set.figure(x,y)
#figurens värde i x och y-led
self.Set.motståndare(zombie_startx, zombie_starty, zombie_width, zombie_height)
zombie_starty += zombie_speed
#moståndarens fuktion och startvärde
self.barrier_dodged(dodged)
#hämtar hinder undvikt fuktionen
if x > self.Set.screen_width - figure_width or x < 0:
self.crash()
if y > self.Set.screen_width - figure_height or y < 0:
self.crash()
if zombie_starty > self.inst.screen_height:
zombie_starty = 0 - zombie_height
zombie_startx = random.randrange(0, self.inst.screen_width-zombie_width)
dodged +=1
pygame.mixer.Sound.play(self.score_ljud)
zombie_speed +=1
if y < zombie_starty + zombie_height and y + zombie_height > zombie_starty:
#regelera vad som gäller för figuren i y-led så att den inte kraschar
if x >zombie_startx and x < zombie_startx + zombie_width or x + figure_width > zombie_startx and x + figur_width <zombie_startx + zombie_width:
self.crash()
#fixar in bilden
pygame.display.update()
#spelslingans utseende och spelfunktioner
pygame.display.update()
self.klocka.tick(30)