2012-04-06 5 views
2

파이 게임에서의 두 번째 날입니다. 많은 기능에 대해 많이 알지 못합니다. 다음은 표시 할이 (튜플의) 원의 n 번호를 반복한다파이 게임 - 이미지를 이미지로 저장

for c in nStations: 
    pygame.time.wait(20) 
    pygame.draw.circle(window, c.tColor, c.tPosition, c.iRadius) 
    pygame.display.update() 

내 표면에 뭐하는 거지 (창)의 샘플입니다. 이제, 이것은 총 5-6 번 반복됩니다. 표면 창을 이미지 (또는 하위 표면)로 저장/저장하고 내 창의 오른쪽 상단 모서리에있는 축소판/링크로 저장하겠습니다.

가능합니까? 아니면 pygame이 좋은 라이브러리가 아닙니까? 나는 cocos2d에서도 작업을 시도했지만, 문서는 pygame과 비교하여 매우 열악합니다.

내 질문에 아무런 의미가없는 경우 답장을 보내주십시오. 나는 그것을 계속 업데이트 할 것이다.

P.python.surface 라이브러리 함수를 보았습니다. 그리고 surface.copy 내가 찾고있는 것 같다지만 복사 및 편집하기 전에 썸네일/이미지로 표면을 저장할 수 있습니까?

편집은 -> 내가 무슨 짓을했는지 jsbueno의 응답을 읽은 후 :

tThumbs.append(pygame.transform.smoothscale(window, (32, 32))) 
    # the above statement inside drawing-circle loop 

i = 1 
for thumb in tThumbs: 
    window.blit(thumb, (1050, 36*i)) 
    pygame.display.update() 
    i += 1 
    pygame.time.wait(200) 

은 위의 나를 위해 완벽하게 작동하는 것 같다. 감사. :)

답변

2

실제로 - 파이 게임의 모든 그림과 transofmr 기능은 첫 번째 매개 변수로 "표면"을 허용합니다. 사실 파이 게임에서 "표면"은 이고 이미지는입니다.

디스플레이 창은 내용이 화면에 반영되는 특수한 것으로서 표면 일뿐입니다. 그러나 pygame.transform.smoothscale을 사용하여 화면 표면의 축소판 복사본을 얻은 다음 화면 개체의 blit 메서드를 화면에 붙여 넣을 수 있습니다.

계속 진행하게 될 경우 비디오 카메라가 자체 출력을 가리키는 것처럼 붙여 넣은 구석도 복제됩니다. 따라서 "올바른 방법"은 다음과 같습니다. 메모리에 별도의 드로잉 유지 화면 위에 블리 팅 한 다음 위에 썸네일을 블릿합니다.

+0

나는 자신을 다시 한 번 인용하고 싶다.> 이것은 파이 게임에서의 두 번째 날이며, 나는 많은 기능에 대해 많이 알지 못한다. 질문을 편집하여 내가 한 일을 반영합니다. – hjpotter92

+0

구현 방법이 더 짧고/빠르면 알려주세요. – hjpotter92

+0

축소판을 다시 호출하려면 어떻게해야합니까? 예를 들면. 썸네일을 클릭하면 해당 서페이스를 뒤로 확장해야합니다. – hjpotter92