2017-03-05 18 views
0

私は、縦と中央の方法で、画像と私のスクリーンメニューのボタンを表示しようとしています。Libgdxテーブルコンフルク

私はほとんど俳優だけを使っていましたが、ここではレイアウトがベストプラクティスになるかもしれないと決めました。

public MenuScreen(final MyGame myGame) { 
    this.myGame = myGame; 
     font = new BitmapFont(); 
     camera = new OrthographicCamera(); 
     camera.setToOrtho(false, 480, 800); 
     stage = new Stage(); 
     batch = new SpriteBatch(); 
     stage.getViewport() .setCamera(camera); 
     skin = new Skin(Gdx.files.internal("menu/glassy-ui.json")); 

     button = new TextButton("NEW GAME", skin); 
     button.setTransform(true); 
     button.setScale(0.5f); 

     button.addListener(new ClickListener(){ 
      @Override 
      public void clicked(InputEvent event, float x, float y) { 
       myGame.setScreen(new GameScreen(myGame)); 
      } 
     }); 
     Image imageLogo = new Image(new Texture(Gdx.files.internal("titleLogo.png"))); 
     // imageLogo.setScaling(Scaling.fit); 

     Table myTable = new Table(); 
     myTable.setFillParent(true); 
     myTable .add(imageLogo);// .width(imageLogo.getWidth()).height(imageLogo.getHeight()).row() ; 

     myTable.row() ; 
     myTable.add(button); 

     stage.addActor(myTable); 
     Gdx.input.setInputProcessor(stage); 
     batch.setProjectionMatrix(camera.combined); 
    } 

    @Override 
    public void render(float delta) { 
     Gdx.gl.glClearColor(1, 1, 0, 1); 
     Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 
     camera.update(); 
     batch.begin(); 
     stage.act(delta); 
     stage.draw(); 
     batch.end(); 
    } 

をしかし、ステージのビューポートが画面外になるテーブル領域に影響を与えていないと私は画像が表示されていることにもわからないようだ..:

は、だから私はやりました。

これは私が見たものである。 menu screen snapshot

はウィキや他の開発者のアプローチを読み出そうとしました。 私が読んだことは誰もがその目標を達成するために異なるシステムを持っていますが、誰もカメラを使用していませんでした、そして、それは私の本当の問題です。

ありがとう!

答えて

0
stage.setDebugAll(true); //enable debug mode and check what's going on 

camera.setToOrtho(false, 480, 800); 

これにより、カメラのビューポートを固定値で設定します。あなたはこれを中心にカメラを移動します800

camera.position.set(Gdx.graphics.getWidth()/2,Gdx.graphics.getHeight()/2,1); 

、任意の俳優はそう、すべての俳優が480の文脈で大きさを持つべきであることを確認してくださいスケーリング/リサイズされていません。