2012-08-14 4 views
0

Pymunk에 폴리곤을 생성하는데 문제가 있습니다.pymunk 폴리에 포인트 추가하기

import pymunk 
space = pymunk.Space() 
space.gravity = (0.0, 900.0) 

box_points=[(-100,-100), (100,-100), (100,100), (-100, 100)] 
body = pymunk.Body(10.0, 1000.0) 
body.position = pymunk.Vec2d(300.0,300.0) 
shape = pymunk.Poly(body, box_points, (0,0)) 

space.add(body, shape) 

print shape.get_points() 

# Outputs: [Vec2d(300.0, 300.0), Vec2d(300.0, 300.0), Vec2d(300.0, 300.0), Vec2d(300.0, 300.0)] 

모양의 꼭지점은 모두 몸통의 중심에 있습니다! (즉, (0, 0)에서). 나는 그들이 그렇게해서는 안된다고 생각하거나 나는 약간의 단계를 건너 뛰는가?

나는 다람쥐 버전 6.0.2Pymunk 2.1.0 ..이 버그를 이용하여, 맥 OS 10.7.4을 실행하는거야?

답변

1

당신이 chipmunk의 32 비트 컴파일 버그를 발견 한 것처럼 보입니다. 10.6부터는 OSX에서 32 비트 파이썬에서만 버그를 만든 헤더 파일에서 사전 정의 된 정의를 변경했습니다. 좋은 소식은 최신 pymunk svn 트렁크에 이미 수정 된 것입니다. 여기에 다람쥐 포럼에서

전체 세부 정보 : http://chipmunk-physics.net/forum/viewtopic.php?f=1&t=2265

get_points는 의미, 세계 좌표 점을 반환해야합니다 귀하의 예에서 출력해야한다 :

[Vec2d(200.0, 400.0), Vec2d(400.0, 400.0), Vec2d(400.0, 200.0), Vec2d(200.0, 200.0)] 

(나는 새를 공개하도록하겠습니다 곧 pymunk의 버전입니다. 현재 문서에 대한 스핑크스로 변환 중이지만 대부분은 이미 완료되었습니다.)

+0

위대한! 고맙습니다! – noio