2017-04-18 1 views
0

파이 게임으로 몇 가지 테스트를 해왔지만 표면이 붙어 있습니다. 나는 그 위에 표면이나 무언가를 그릴 수 없다.파이 게임 표면이 보이지 않음

이 작동 :

pygame.draw.circle(screen, (0,0,0), (25,25),25) 

하지만이 없습니다 :

pygame.draw.circle(surface, (0,0,0), (25,25),25) 
내가 화면에 뭔가를 그릴 할 때

import pygame 

pygame.init() 
screen = pygame.display.set_mode((400, 300)) 
#surface = pygame.Surface((100, 100)) 
done = False 
screen.fill((255, 255, 255)) 


while not done: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      done = True 


    #surface = pygame.Surface((50, 50)) 
    surface = pygame.Surface((100, 100)) 
    #surface.fill((255, 0, 0)) 
    #surface.set_colorkey((255, 0, 0)) 
    pygame.draw.circle(surface, (0,0,0), (25,25),25) 
    #pygame.draw.rect(screen, (0, 128, 255), pygame.Rect(30, 30, 60, 60)) 

    pygame.display.flip() 

그래서 그것을립니다 여기 내 코드입니다

일부 문서를 읽었으나 표면을 호출하고 배경을 지정하는 것으로 충분합니다. 흰색입니다. 왜냐하면 기본적으로 검은 색이 그려지기 때문입니다. 나는 정말로 내가 잘못하고있는 것을하지 않는다.

정보가 충분하기를 바랍니다.

건배.

+1

서페이스를 화면에 블리트해야합니다. –

+0

[다음은 서페이스에 대한 간단한 소개입니다.] (http://stackoverflow.com/documentation/pygame/7079/drawing-on-the-screen/23787/surfaces#t=201704182035216002602) –

+0

감사합니다. 매우 감사합니다. –

답변

0

파이 게임에는 여러 유형의 표면이 있습니다. 일반 표면 외에 디스플레이도 있습니다. 디스플레이는 서페이스 유형이지만 서페이스는 디스플레이 유형이 아닙니다. 이들의 차이점은 디스플레이가 화면에 표시된다는 것이며, 일반 표면은 그렇지 않다는 것입니다.

파이 게임 표면은 pygame.Surface으로 생성되고 디스플레이는 pygame.display.set_mode으로 생성됩니다. 파이 게임 (Pygame)에서는 한 번에 하나의 디스플레이 만 가질 수 있지만 원하는 모든 서페이스를 가질 수 있습니다. screen 가정

는 디스플레이, 그리고 surface는 다른면이며, 여기 화면에 표면을 표시 할 방법입니다

screen.blit(surface, [x,y]) 

xy 그들이 디스플레이에 표시됩니다의 좌표 .

프로그램에서 화면을 블리치하지 않으므로 결코 표시되지 않습니다. 간단히 말하면, 코드에 또 다른 문제가있는 경우가 아니라면 프로그램이 작동합니다.

그래도 문제가 해결되지 않으면 의견을 보내 주시면 의견을 보내 드리겠습니다.

https://www.pygame.org/docs/ref/display.htmlhttps://www.pygame.org/docs/ref/surface.html을 참조하십시오.

+0

실제로 문제를 해결, 나는 그 라인을 놓쳤다. 고맙습니다. –