2013-10-14 2 views
2

저는 box2d 및 libgdx 게임 개발 프레임 워크를 처음 사용합니다.왜 몸이 중력 아래 떨어지고 있지 않습니까?

나는 세계와 원 모양을 만들었습니다.

나는 Trouble with Gravity에있다. libgdx box2d에서 만든 Circle은 중력에 빠지지 않습니다. plz 내가이 문제에 붙어 도와주세요.

public void render(float delta) { 
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 

    box2dDebugRenderer.render(world, orthographicCamera.projection); 

    world.step(TIME_STEMP, VELOCITY_ITERAIONS, POSITION_ITERATION); 
    System.out.println(b.getPosition().y); 
} 

@Override 
public void resize(int width, int height) { 
    orthographicCamera.setToOrtho(false, width/10, height/10); 
    orthographicCamera.update(); 
} 

@Override 
public void show() { 
    world = new World(new Vector2(0, -9.81f), true); 
    box2dDebugRenderer = new Box2DDebugRenderer(); 
    orthographicCamera = new OrthographicCamera(); 


    BodyDef balldef = new BodyDef(); 
    balldef.type = BodyType.DynamicBody; 
    balldef.position.set(0, 1); 



    CircleShape ballshape = new CircleShape(); 
    ballshape.setRadius(1f); 


    FixtureDef ballfixture = new FixtureDef(); 
    ballfixture.density = 1000f; 
    ballfixture.friction = .3f; 
    ballfixture.restitution = .7f; 
    ballfixture.shape = ballshape; 

    b = world.createBody(balldef); 
    f = b.createFixture(ballfixture); 


} 
+0

그러면 어떻게 될까요? 시체가 조용히있어? – ssantos

+0

예 y 방향으로 위치를 변경하지 마십시오 –

+0

단계 상수 값을 게시 할 수 있습니까? – ssantos

답변

6

이 당신의 문제 없어

final float TIME_STEMP = 1/60; 

당신은 0을 초래하는 정수 나눗셈을하고있는 것입니다. 다른 말로하면, 당신의 세계는 정체되어 있습니다. 이걸 사용해보십시오 .-

final float TIME_STEMP = 1.0f/60.0f; 
+0

3 시간 후에 f를 고맙게 생각합니다. –

+0

대단히 환영합니다. 그것은 나에게 전에 한 번 일어났다 :) – ssantos