2012-10-09 3 views
2

중력 : (x = 0, y = 지구)Andengine Fixtures, Gravity, Mass - 영구적 인 튀는 공

나는 영구적 인 튀는 공을 만들고 싶다. 예를 들어, 나는 그것이 땅에 떨어지고, 튀어 오르고, 시작 (200, 200)에서와 같은 코디로 돌아온 후에, 그것을 코디 (200, 200)로 설정한다. 나는 밀도, 탄력성, 마찰로 놀려고했지만 비슷한 행동을 취하고 있지만 변화하고 있습니다. 나는 구글을 많이 찾았고 문제가 반올림 때문에 발견되었다. 질문 : 엔진에서 어떤 값이 변하고 어떤 값이 더 델타가 될지 후에 재설정해야합니까?

두 번째 질문 : 조명기 (밀도 = 1, 탄성 = 1, 마찰 = 0)를 같은 높이로 튀기지 않고 모든 바운스가 더 높을 때 튀는 이유는 무엇입니까? 나는 탄성을 0,981f와 같이 설정했다.

세 번째 질문 : 하나의 물체 고정 장치가 두 번째 물체 고정 장치에 어떻게 의존 하는가? 예 : 공 (1F, 0.6f, 1F) 벽면 (1F, 0.6f, 0F)

공 (1F, 0.6f, 1F) 벽면 (1F, 0.6f, 0.5 f)

무엇이 변경 될까요?

+0

매번 정확하게 동일한 좌표가 필요하거나 대략 일정한 운동력 + 공의 위치 에너지가 필요합니까? – JohnEye

+0

그 볼을 같은 높이로 돌려 주어야합니다. (+/- 15 px는 잘못 될 수 있습니다.) 여기를보세요 : [Example] (http://i49.tinypic.com/j9blat.png) – Aleksandrs

+1

다음 두 가지 질문이 유용 할 수 있습니다 : http://stackoverflow.com/questions/11257197/how-do-i-get-a-body-to-bounce-around-the-screen-when-there-is-gravity-box2d-and http : // stackoverflow .com/questions/11257462/how-do-i-apply-a-body-in-the-direction-it-is-traveling-box2d – JohnEye

답변

0

흠이 영구 튀는 공을 몸 BodyType.DynamicBody를 확인하기 위해, 그럼 그냥 0으로 중력을 설정 EARTH (9.8f) 및

scene.registerUpdateHandler(new IUpdateHandler() { 


    @Override 
    public void onUpdate(float pSecondsElapsed) { 

      if(body.getPosition().y >=CAMERA_HEIGHT) 
      { 
       Vector2 v=new Vector2(0, -9f); //Adjust according to the bounce required 
       body.setLinearVelocity(v); 
      } 

    } 
}); 

두 번째 :

밀도는 체적 질량 밀도()이고, 중력 가속도는 질량과 무관합니다 ...

탄성은 한 지점에서 물체가 멈추었을 때의 관성입니다. 따라서 몸을 더 멀리 움직이기를 원하지 않으면 0

로 설정하십시오. 1,515,

마찰,

그래서 두 개의 고정 점 사이에 튀는 공 설정 시도 만드는 (밀도 = 1 (즉, 같은 매체 공기, 물 또는 물건 등) 본체의 상대 운동에 저항하는 힘의 양 탄성 = 0, 마찰 = 0)

관련 문제