PyMunk에 pyGame을 결합한 예제 코드입니다.
우선 pyGame 기본 예제는 아래 글을 참고하시기 바랍니다.
사전 설치 요구사항
pygame 모듈 사용시, 추가적인 pygame 모듈 설치를 필요로 합니다.
pip install pygame
예제 코드
import pygame from pygame.locals import * import pymunk import pymunk.pygame_util SCREEN_WD = 400 SCREEN_HT = 400 TARGET_FPS = 60 screen = pygame.display.set_mode((SCREEN_WD, SCREEN_HT), 0, 32) pygame.display.set_caption("PyMunk_Example") clock = pygame.time.Clock() space = pymunk.Space() space.gravity = 0, -1000 draw_options = pymunk.pygame_util.DrawOptions(screen) ground = pymunk.Body(body_type=pymunk.Body.STATIC) ground.position = 50, 50 ground_shape = pymunk.Segment(ground, (-50, 0), (50, 0), 1) space.add(ground_shape) body = pymunk.Body(1, 1666) body.position = 50, 100 poly = pymunk.Poly.create_box(body, (10, 10)) space.add(body, poly) timeStep = 1.0 / 60 running = True while running: for event in pygame.event.get(): if event.type == QUIT: running = False continue if event.type == KEYDOWN and event.key == K_ESCAPE: running = False continue screen.fill((0, 0, 0, 0)) space.debug_draw(draw_options) space.step(timeStep) pygame.display.flip() clock.tick(TARGET_FPS) pygame.quit() print("done")
PyMunk에서는 다음 두 호출을 통해 기본적인 내용을 자동적으로 pyGame 영역에 그려주게 됩니다. 다만 (0, 0)에서부터 그려주므로 앞의 예제에서 전체적으로 (+50, +50) 만큼 좌표를 이동시켰습니다.
draw_options = pymunk.pygame_util.DrawOptions(screen)
...
space.debug_draw(draw_options)
정찰 위성 이미지
<테스트 환경>
- OS : Windows 7
- Python 버전 : 3.6
- Pymunk 버전 : 5.3.2
- PyGame 버전 : 1.9.3
'1. 연구 모듈 > Python' 카테고리의 다른 글
[Python] 클래스 변수 vs. 인스턴스 변수 요약 (0) | 2020.08.31 |
---|---|
[Python] 티스토리용 Markdown 변환기 (0) | 2019.08.05 |
[Python] Pymunk 사용 예제 - 1. 기본 예제 (0) | 2018.09.01 |
[Python] 파이썬 3에서 문자열 처리 (0) | 2018.02.07 |
[wxPython] 외부 프로그램의 표준 출력/에러를 표시하는 template (0) | 2017.05.13 |