android libgdx触摸板

时间:2013-04-13 13:51:55

标签: android libgdx touchpad

触摸板不可见,没有错误。他在“//创建触摸板皮肤”之间启动。 我尝试了很多方法,但都错了。有什么问题?

public WorldRenderer(World world) {
    spriteBatch=new SpriteBatch();

    this.world = world;
    this.cam = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    SetCamera(CAMERA_WIDTH / 2f, CAMERA_HEIGHT / 2f);  

    loadTextures();


//Create a touchpad skin    

   Texture touchpadTexture = new Texture(Gdx.files.internal("data/touchpad.png"));
    touchpadTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);     
   TextureRegion background = new TextureRegion(touchpadTexture, 0, 0, 75, 75);
   TextureRegion knob = new TextureRegion(touchpadTexture, 80, 0, 120, 120);
   TextureRegionDrawable backgroundDrawable = new TextureRegionDrawable(background);
   TextureRegionDrawable knobDrawable = new TextureRegionDrawable(knob);
   Touchpad touchpad = new Touchpad(10, new Touchpad.TouchpadStyle(backgroundDrawable, knobDrawable));
   touchpad.setBounds(15, 15, 200, 200);
   world.addActor(touchpad);

    //Create a touchpad skin  

}

1 个答案:

答案 0 :(得分:4)

我真的没有看到你犯的错误,但我正在努力帮助。 你的世界必定是一个舞台......当然。所以这是我如何创建我的触摸板并将其添加到我的舞台,它确实没有任何问题。也许您创建TouchpadStyle时出现问题。
经理是一名资产管理员,我在加载应用程序时加载了纹理。

private void initTouchpad() {
        skin = new Skin();
        skin.add("knob", this.game.manager.get("touchpad/touchKnob.png"));
        skin.add("background", this.game.manager.get("touchpad/test.png"));

        style = new TouchpadStyle();
        // skin.add
        style.knob = skin.getDrawable("knob");
        style.background = skin.getDrawable("background");

        pad = new Touchpad(10, style);
        pad.setBounds(0, Config.VIRTUAL_VIEW_HEIGHT - 150, 150, 150);
    }

//somewhere in my main
this.stage.addActor(pad);

希望这可能会有所帮助。