def RunGame(): BUTTON_BUILD = False <<<< 이값이 안변함;;; click = False flag=True count=0 BuildB=button(10,500,50,35) ##건설버튼 생성 Build1=button(100,400,100,100) ################# Build2=button(250,400,100,100) # # Build3=button(400,400,100,100) # 건설버튼 생성 # Build4=button(100,200,100,100) # # Build5=button(250,200,100,100) # # Build6=button(400,200,100,100) ################# T1=Tower1() T2 = Tower2() T3 = Tower3() T4 = Tower4() T5 = Tower5() T6 = Tower6() while flag: ## 게임시작 루프 clock.tick(60) for event in pygame.event.get(): ##종료인식 if event.type == pygame.QUIT: flag=False if event.type == pygame.MOUSEMOTION: pos = pygame.mouse.get_pos() ##마우스좌표 pos에 입력 if event.type==pygame.MOUSEBUTTONUP: click=False if event.type == pygame.MOUSEBUTTONDOWN: click=True if BuildB.isOver(pos): BUTTON_BUILD=True <<여기선 잘변함 ;; if BUTTON_BUILD == True: Drect(1) if Build1.isOver(pos): BUTTON_BULD = False <<<< 여기서 안변하네요.. T1.Pimage() print(BUTTON_BUILD) elif Build2.isOver(pos): BUTTON_BULD = False T2.Pimage() print(BUTTON_BUILD) elif Build3.isOver(pos): BUTTON_BULD = False T3.Pimage() print(BUTTON_BUILD) elif Build4.isOver(pos): BUTTON_BULD = False T4.Pimage() print(BUTTON_BUILD) elif Build5.isOver(pos): BUTTON_BULD = False T5.Pimage() print(BUTTON_BUILD) elif Build6.isOver(pos): BUTTON_BULD = False T6.Pimage() print(BUTTON_BUILD) if (Build1.isOver(pos)==True)and(BUTTON_BUILD==True): Drect(2) elif (Build2.isOver(pos)==True)and(BUTTON_BUILD==True): Drect(3) elif (Build3.isOver(pos) == True) and (BUTTON_BUILD == True): Drect(4) elif (Build4.isOver(pos) == True) and (BUTTON_BUILD == True): Drect(5) elif (Build5.isOver(pos) == True) and (BUTTON_BUILD ==True): Drect(6) elif (Build6.isOver(pos) == True) and (BUTTON_BUILD == True): Drect(7) screen.blit(buttoni,(10,500))##건설버튼 생성 pygame.display.flip() pygame.quit()
건설이란 버튼을 클릭했을때
BUTTON_BUILD이 True값으로 변하면서 이 버튼이 활성화된 상태이다를 표시하고
원하는 자리에 건물을 건설하면 다시 이값을 False로 바꾸고싶은데 건설했을때 print는 출력되는데 False값으로 안바뀌는데 혹시 문제가 뭔지 알 수 있을가요?