【发布时间】:2021-12-01 04:04:03
【问题描述】:
所以我正在 Pygame 上制作游戏,并且我观看了有关如何使用 Pygame 获得声音的教程,但由于某种原因,无论我做什么,它都无法播放。我在 Replit,我曾尝试使用 Replit 库,但我也遇到了问题。我想知道我是不是写错了什么,或者它只是Replit还是它是什么。另外,如果您对循环有任何提示,以及如何在特定时间播放音乐,那就太好了。下面的代码只是一个尝试弄清楚如何制作菜单的代码,我打算在选择颜色时播放音乐。我刚刚尝试删除
pygame.init()
但是当我这样做时,一大堆东西就不再工作了,比如字体,它还说混音器没有初始化。
import pygame
import random
import time
pygame.init()
font = pygame.font.SysFont("arial", 15, True)
compwin = pygame.display.set_mode((512,512))
pygame.display.set_caption("attack")
clock = pygame.time.Clock()
music = pygame.mixer.music.load("space music.wav")
pygame.mixer.music.play(-1)
x1 = 128
y1 = 256
x2 = 256
y2 = 256
x3 = 384
y3 = 256
x4 = 251
y4 = 251
def picked():
while run:
pygame.time.delay(30)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run == False
if white.colliderect(red):
compwin.fill((255,0,0))
if white.colliderect(green):
compwin.fill((0,255,0))
if white.colliderect(blue):
compwin.fill((0,0,255))
pygame.display.update()
run = True
while run:
pygame.time.delay(30)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_1]:
x4 = x1 - 5
y4 = y1 - 5
elif keys[pygame.K_2]:
x4 = x2 - 5
y4 = y2 - 5
elif keys[pygame.K_3]:
x4 = x3 - 5
y4 = y3 - 5
compwin.fill((0,0,0))
white = pygame.draw.rect(compwin,(255,255,255), (x4,y4,42,42) )
blue = pygame.draw.rect(compwin,(0,0,255), (x2,y2,32,32) )
green = pygame.draw.rect(compwin,(0,255,0), (x3,y3,32,32) )
red = pygame.draw.rect(compwin,(255,0,0), (x1,y1,32,32) )
keys = pygame.key.get_pressed()
if keys[pygame.K_RETURN]:
picked()
pygame.display.update()
pygame.quit()
【问题讨论】: