1. 마우스 조인트 :: 마우스로 드래그해 이동 ex) 앵그리버드
2. 레볼루트 조인트 :: 선택한 물체를 중심으로 진자운동을 한다. 시계 같다.
3. 웰드 조인트 :: 두 바디를 용접한듯 붙인다. ex) poly bridge
4. 프리마스틱 조인트 :: 두 바디 사이를 주어진 직선 방향으로만 이동 가능 ex)엘리베이터 , 피스톤운동
5. 디스턴스 조인트 :: 두 바디 사이의 연결에 단단한 철봉을 사용한것 항상 일정하고 변하지 않는다.
.. 라는데 사실 레볼루트 조인트와 뚜렷한 차이점을 모르겠다. 단지 레볼루트 조인트가 진자 운동을 한다는점 하나?
6. 로프 조인트 :: 두 바디 사이를 줄로 이은듯하다.
7. 프릭션 조인트 :: 고무줄로 연결한듯 한다던데... 음....어.... 암튼 이상함 +) 힘,회전력에 의해 늘어남
8. 풀리 조인트 :: 도르레 조인트다. 두 바디 사이의 균형에 따라 움직인다.
pulleyJointDef.Initialize(pBody1,
pBody2,
b2Vec2(200 / PTM_RATIO, 300 / PTM_RATIO), // 왼쪽 바디의 x,y위치 값
b2Vec2(300 / PTM_RATIO, 300 / PTM_RATIO), // 오른쪽 바디의 x,y 위치값
pBody1->GetPosition(),
pBody2->GetPosition(),
1);
//약 160 ~ 200 이라 중력의 영향으로 아래로 떨어졌다.
pulleyJointDef.lengthA = 160 / PTM_RATIO; // 왼쪽 바디의 길이 값
pulleyJointDef.lengthB = 160 / PTM_RATIO; // 오른쪽 바디의 길이 값
pulleyJointDef.collideConnected = true;
length같은 경우 현재 PTM_RATIO가 32인데
A와 B 둘 다 5의 값을 가지고 있다.
둘다 1의 값을 가지고 있게 수정해 보니 그만큼 짧아졌고,
한쪽은 9, 한쪽은 1의 값을 가지고 있게 수정해 보니, 둘다 5의 값을 준것과 같아졌다.
9. 기어 조인트 :: 톱니바퀴가 서로 연결되어 있는것처럼 동작한다. 두 바디의 크기가 같을 필요는 없지만 bodyDef의 userdata에 넣을 스프라이트를 생각해서 상식적으로 맞춰줄 필요는 있다.
'# 게임 > # cocos2d-x' 카테고리의 다른 글
physics editor & sprite sheet (0) | 2020.01.31 |
---|---|
물리에 관하여 (0) | 2020.01.31 |
바디의 종류 (0) | 2020.01.20 |
Box2D EdgeShape에 관한 내용 (0) | 2020.01.20 |
Visual Studio 2019 경고문구 무시하기 (0) | 2020.01.17 |