2

このチュートリアルhttp://code.google.com/p/libgdx/wiki/IntelliJIDEALibgdxを使用してintellijidea12でlibgdxを設定できましたが、デスクトップアプリケーションを実行すると、このように表示されます。ここに画像の説明を入力してください

libgdxの画像が公式のlibgdxWebサイトのチュートリアルのように表示されることを期待していました。チュートリアルのintelliJの部分では、デスクトップをandroidのアセットフォルダーにリンクします。下の画像でわかるように、libgdxの画像を含むandroidモジュールのアセットフォルダーがあります。

ここに画像の説明を入力してください

チュートリアルのAlternative2に従います。

コードは次のとおりです。

DesktopStarterクラス-デスクトップモジュール:

public class DesktopStarter {
    public static void main(String[] args) {
        LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
        cfg.title = "Title";
        cfg.useGL20 = true;
        cfg.width = 800;
        cfg.height = 480;
        new LwjglApplication(new MyLibgdxGame(), cfg);
    }
}

MyLibgdxGameAndroidStarterクラス-Androidモジュール:

public class MyLibgdxGameAndroidStarter extends AndroidApplication
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
        cfg.useAccelerometer = false;
        cfg.useCompass = false;
        cfg.useWakelock = true;
        cfg.useGL20 = true;
        initialize(new MyLibgdxGame(), cfg);
    }
}

MyLibgdxGameクラス-メインモジュール:

public class MyLibgdxGame extends Game {
    @Override
    public void create() {
        //To change body of implemented methods use File | Settings | File Templates.
    }
}

ここからプロジェクトをダウンロードしてください

何が悪かったのか誰か知っていますか?ありがとう

4

1 に答える 1

5

クラスMyLibgdxGameは画像を表示するためのソースコードを見逃しています。次のようになります。

package com.example.mylibgdxgame;

import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.Texture.TextureFilter;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;

public class MyLibgdxGame extends Game {
  private OrthographicCamera camera;
  private SpriteBatch        batch;
  private Texture            texture;
  private Sprite             sprite;

  @Override
  public void create() {
    float w = Gdx.graphics.getWidth();
    float h = Gdx.graphics.getHeight();

    camera = new OrthographicCamera(1, h / w);
    batch = new SpriteBatch();

    texture = new Texture(Gdx.files.internal("libgdx2.png"));
    texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);

    TextureRegion region = new TextureRegion(texture, 0, 0, 512, 275);

    sprite = new Sprite(region);
    sprite.setSize(0.9f, 0.9f * sprite.getHeight() / sprite.getWidth());
    sprite.setOrigin(sprite.getWidth() / 2, sprite.getHeight() / 2);
    sprite.setPosition(-sprite.getWidth() / 2, -sprite.getHeight() / 2);
  }

  @Override
  public void dispose() {
    batch.dispose();
    texture.dispose();
  }

  @Override
  public void render() {
    Gdx.gl.glClearColor(1, 1, 1, 1);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(camera.combined);
    batch.begin();
    sprite.draw(batch);
    batch.end();
  }

  @Override
  public void resize(int width, int height) {
  }

  @Override
  public void pause() {
  }

  @Override
  public void resume() {
  }
}

ガイドgdx-setup-ui.jarは、このコードで完全なサンプルアプリケーションを生成するために使用することを提案しています。

結果は次のとおりです。

サンプル

于 2013-03-03T21:11:51.493 に答える