因此,我终于使用libGDX中的Physics body Editor和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();
我不知道,是不是所有的信息都需要回答我的问题,所以要明确的是,有整个类
实际上,我犯了一个愚蠢的错误-忘记在render()
方法中放入阶段的东西)):
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();