所以,我终于在 libGDX 中使用物理主体编辑器和 Box2D 创建了一个主体。现在我想用 libGDX 创建一个优雅的触摸板。基本上,我是这样做的:
// Touchpad
private Touchpad touchpad;
private Touchpad.TouchpadStyle touchpadStyle;
private Skin touchpadSkin;
private Drawable touchBackground;
private Drawable touchKnob;
这就是我在create()
方法中写的:
// Touchpad initialisation
touchpadSkin = new Skin();
touchpadSkin.add("touchBackground", new Texture("touchBackground.png"));
touchpadSkin.add("touchKnob", new Texture("touchKnob.png"));
touchpadStyle = new Touchpad.TouchpadStyle();
touchBackground = touchpadSkin.getDrawable("touchBackground");
touchKnob = touchpadSkin.getDrawable("touchKnob");
touchpadStyle.background = touchBackground;
touchpadStyle.knob = touchKnob;
touchpad = new Touchpad(10, touchpadStyle);
touchpad.setBounds(50, 50, 300, 300);
stage = new Stage();
stage.addActor(touchpad);
Gdx.input.setInputProcessor(stage);
但是,当我测试它时,我发现没有触摸板被渲染过。也许这就是相机,所以:
相机声明:
private OrthographicCamera camera;
相机视口声明:
private static final float VIEWPORT_WIDTH = 1920;
create ()
方法中的相机:
camera = new OrthographicCamera(VIEWPORT_WIDTH, VIEWPORT_WIDTH*h/w);
camera.position.set(0, camera.viewportHeight/2, 0);
camera.update();
我不知道,是否需要回答我的问题的所有信息,所以要清楚,有the whole class
答案 0 :(得分:0)
实际上,我犯了一个愚蠢的错误 - 忘了把阶段的东西放在render()
方法中)):
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();