PyMunk에 pyGame을 결합한 예제 코드입니다.
우선 pyGame 기본 예제는 아래 글을 참고하시기 바랍니다.
사전 설치 요구사항
pygame 모듈 사용시, 추가적인 pygame 모듈 설치를 필요로 합니다.
pip install pygame
예제 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 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 |