2013-04-24 5 views
37

私はこれを次のようにしています:https://code.google.com/p/table-layout/#Quickstart LibGDXのテーブルを少し紹介します。私はすでにボタンの周りを少し実験しました。デフォルトのスキンLibGDX?

今、私はこのコードを持っている:

Label introLabel = new Label("Skip Intro", skin); 
    TextField introText = new TextField("", skin); 

    table.add(introLabel); 
    table.add(introText).width(100); 
    table.row(); 

をしかしNullPointerExceptionので、それは私をスロー:No com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle registered with name: default

私は唯一の皮膚に(どこかの画面でから)私のボタンを追加しました:

atlas = new TextureAtlas("assets/gui/buttons/alpha_generic_buttons.pack"); 

    skin = new Skin(); 
    skin.addRegions(atlas); 

私の質問は、テーブルがどのような種類のテクスチャを必要としているか、そして最も重要なことです。

答えて

79

libGDXのUIについては、これまでに使用していたもの(yaml、json、xml、UI Builderなど)とはまったく異なっています。

テーブルレイアウト - これはScene2d UIの構造化とフォーマットの方法です。あなたが提供したリンクは素晴らしいチュートリアルですが、あなたが実現するようになったら、ほとんどのことをするための肌が必要です。

LibGDX Skin - 3つのもの、テクスチャパックイメージ、テクスチャパックファイル、およびスタイルを設定するJsonで構成されています。実行しているようにプログラムで生成することもできますが、ファイルからロードして使用するほうがはるかに簡単です。スキンの作成方法や編集方法などについて詳しく知りたい場合は、Skinsにアクセスしてください。

ここで、あなたは例外に戻ります。これは、作成したスキンに、さまざまなUIエレメントのスタイルを記述するためにjsonが使用されていないためです。上記の例外の場合、テキストフィールド内のラベルにはデフォルトスタイルがありません。

  1. Atlaspack File
  2. Json File
  3. Atlaspack Image
  4. Font Image
  5. Font File

は何が簡単にできることはテストフォルダに提供されているテンプレートを使用しています

これらのファイルをAndroidプロジェクトのassetsフォルダに入れてください。

com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: { 
    default: { font: default-font, fontColor: white }, 
} 

Skin uiSkin = new Skin(Gdx.files.internal("uiskin.json")); 

これはあなたのTextFieldオブジェクトを作成するための情報の欠落している部分だけでなく、他のデフォルトのスタイルの束を持っています。そして、あなたは簡単に1行のコードでこのスキンをロードすることができます

うまくいけば、これはあなたを始めるのに役立ちます。他にもいくつかの小さなものがありますので、詳しくはwikiのScene2d.UIの記事を参照するのを恐れないでください。

注:あなたがいるときに、実際のラッシュで、デバッグのために、アウト・オブ・ボックス(非常に小さな/シンプルなアプリケーションのために非常に役立つことができthe default UI skinを使用できるようにgdx-toolsアーティファクトを使用することができますUIを表示するなど)。

+0

ワウ、すてきな答えをありがとう:) 私の頭を包み込むことができない唯一のことは、コードの最後の部分です。 :o – AreusAstarte

+4

@AreusAstarteスタイルのjsonの説明です。上のファイルリストの項目2を参照してください。 – noncom

+1

ノンコムが正しいです。私はちょうどあなたの問題を引き起こしていた正確なものだからjsonの行を指摘しました:) – Jyro117

関連する問題