1. 연구 모듈/Python
[Python] Pymunk 사용 예제 - 2. PyMunk + pyGame 기본 예제 (1)
사용자-1
2018. 9. 3. 07:00
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