2013-04-13 2 views
0

Тачпад не отображается без ошибок. Он запускается между «// Создание скина сенсорной панели». Я пробовал много способов, но все не так. Что там не так?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 

} 

ответ

4

Я действительно не вижу ошибки, которые вы сделали, но я стараюсь помочь. Ваш мир должен быть Stage .. наверняка. Итак, вот как я создаю свой тачпад и добавляю его на свою сцену, и он работает без проблем. Возможно, возникла проблема с созданием 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); 

Надеюсь, это поможет.