Я пытаюсь повернуть тело подключить через револьверный сустав, когда кнопка пробела нажата на моем рабочем столе. Он отлично работает, когда я помещаю все условие в создание, но не работаю над нажатием кнопки пробела. вот мой метод созданияКак управлять револьверным соединением с помощью кнопки ввода?
ballBody =createBall();//first body to the joint
rectBody=createRect();//second body to the joint
revoluteJointDef = new RevoluteJointDef();
revoluteJointDef.initialize(ballBody,rectBody,new Vector2(0,0));
revoluteJointDef.lowerAngle=0;
revoluteJointDef.upperAngle=0.785f;
revoluteJointDef.localAnchorA.set(2,0);
revoluteJointDef.localAnchorB.set(0,6);
revoluteJointDef.collideConnected=false;
revoluteJointDef.lowerAngle=-0.734f;
revoluteJointDef.upperAngle=0.735f;
revoluteJointDef.maxMotorTorque=100f;
revoluteJointDef.motorSpeed=-12.6f;
revoluteJointDef.referenceAngle=0f;
revoluteJointDef.enableLimit=true;
joint = world.createJoint(revoluteJointDef);
и я включения двигателя после нажатия кнопки пробела, как этот
public boolean keyDown(int keycode) {
if(keycode== Input.Keys.SPACE) {
hit(); // call to hit function
}
здесь ударил функция
private void hit(){
revoluteJointDef.enableMotor=true;
}
и мой метод визуализации, как это
public void render(float delta) {
Gdx.gl.glClearColor(0.5f, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
game.batch.setProjectionMatrix(camera.combined);
world.step(1f/60f, 6, 2);
debugRenderer.render(world, camera.combined);
game.batch.begin();
game.batch.end();
}
, пожалуйста, помогите мне с любым предложением.