2014-05-11 2 views
0

저는 Box2d와 EaselJS를 배우려고합니다. 지금까지 Box2d의 "디버그"모양으로 작업 해 왔습니다. 물리학을 사용할 수있는 EaselJS에서 사용자 정의 모양을 만들려면 어떻게해야합니까? 예를 들어, 화면에 임의의 볼을 스폰하는 다음 코드가 있습니다.EaselJS 모양으로 Box2d를 사용 하시겠습니까?

var fixDef = new box2d.b2FixtureDef(); 
     fixDef.density = 1; 
     fixDef.friction = 0.5; 
     fixDef.restitution = 0.5; 
     var bodyDef = new box2d.b2BodyDef(); 
     bodyDef.type = box2d.b2Body.b2_dynamicBody; 
     bodyDef.position.x = Math.random()*800/SCALE; 
     bodyDef.position.y = 0; 
     fixDef.shape = new box2d.b2CircleShape(Math.random()*100/SCALE); 
     world.CreateBody(bodyDef).CreateFixture(fixDef); 

어떻게 EaselJS shape 객체를 사용할 수 있습니까?

감사합니다.

답변

1

표시하고자하는 모든 DisplayObject (도형, 비트 맵 등)에 대해 고유 한 b2dObject가 필요합니다. 그런 다음, 무대 (또는 b2dworld)를 업데이트 할 때마다 b2dObject의 위치와 회전을 찾아서 모양에 적용해야합니다 .-> 완료. 여기 아주 좋은 예를 찾을 수 있습니다

var pt = body.GetPosition(); var sprite = ball.sprite; sprite.x = pt.x*WORLD_SCALE; sprite.y = pt.y*WORLD_SCALE; sprite.rotation = body.GetAngle()/Math.PI*180;

: 당신이 필요로하는 것들 https://github.com/CreateJS/sandbox/blob/master/EaselJS_Box2dWeb

이 같은 것입니다