좋아, 그래서 나는이 프로젝트를 위해 학교에서 일하고있다. 우주 침략자 게임을 만들어야합니다. 나는 배를 움직이고 발사하도록 끝냈다. 이제 여기에 문제가 있습니다. 다중 화재를 시도하면 이전의 총알이 지워지고 멋진 사이트가 아닌 새로운 화재가 발생합니다. 실제로 여러 번 발사하도록하려면 어떻게해야합니까?우주선을 여러 번 발사하려면 어떻게해야합니까?
while (running == 1):
screen.fill(white)
for event in pygame.event.get():
if (event.type == pygame.QUIT):
running = 0
elif (event.type == pygame.KEYDOWN):
if (event.key == pygame.K_d):
dir = "R"
move = True
elif (event.key == pygame.K_a):
dir = "L"
move = True
elif (event.key == pygame.K_s):
dir = "D"
move = True
elif (event.key == pygame.K_w):
dir = "U"
move = True
elif (event.key == pygame.K_ESCAPE):
sys.exit(0)
elif (event.key == pygame.K_SPACE):
shot=True
xbul=xgun + 18
ybul=ygun
#if key[K_SPACE]:
#shot = True
if (event.type == pygame.KEYUP):
move = False
#OBJECT'S MOVEMENTS
if ((dir == "R" and xgun<460) and (move == True)):
xgun = xgun + 5
pygame.event.wait
elif ((dir == "L" and xgun>0) and (move == True)):
xgun = xgun - 5
pygame.event.wait
elif ((dir == "D" and ygun<660) and (move == True)):
ygun = ygun + 5
pygame.event.wait
elif ((dir == "U" and ygun>0) and (move == True)):
ygun = ygun - 5
screen.blit(gun, (xgun,ygun))
#PROJECTILE MOTION
#key = pygame.key.get_pressed()
if shot == True:
ybul = ybul - 10
screen.blit(bullet, (xbul, ybul))
if xbul>640:
shot=False
pygame.display.flip()
time.sleep(0.012)
당신은이 첫 번째 줄과 두 번째 줄 사이의 들여 쓰기 오류 ... – mgilson
화면상의 글 머리 기호를 ['list'] (http://docs.python.org/3.3/tutorial/introduction.html#lists) 유지해야하며 이사하다 그것들을 모두 다시 그릴 때 그것들 모두. – millimoose
또는 스프라이트 그룹의 스프라이트 그룹 – ninMonkey