blog

Androidゲームエンジンlibgdx使用チュートリアル1:libgdx環境を構築する

libgdxは、クロスプラットフォームの2D/3Dゲーム開発フレームワークで、Apacheライセンス、バージョン2.0に基づき、Java/C/C++で書かれ、Google Codeでホストされています...

Mar 7, 2014 · 4 min. read
シェア

libgdxは、クロスプラットフォームの2D/3Dゲーム開発フレームワークであり、Apacheライセンス、バージョン2.0の合意に基づいており、Java/C/C++で書かれ、コードはGoogle Codeでホストされており、商用および非商用利用は無料です。

オープンソースのゲームフレームワークは珍しくありませんが、libgdx の利点は、主に次のような分野で非常に明白です:

1、非常に強い互換性

libgdxは、ほとんどのマイクロコンピュータプラットフォームとAndroidプラットフォームに対応しています。

2、効率

Libgdxは主にJavaで書かれており、物理エンジンやオーディオ処理のようなパフォーマンスが重要な処理にはC/C++のコードも含まれています。ユーザーとしては、Java 側にだけ集中すればよく、ネイティブコードはすべてラップされています。他のアンドロイドゲームエンジンと比較して、libgdx は明らかに効率的な利点があります。

さらに、libgdx は明確なアーキテクチャ、物理エンジンのパッケージング、豊富なツールやその他の機能を備えています。

libgdx のロゴ:

libgdx-0.9.2をダウンロードしました。

File -> New -> Project -> Android Projectで新しいAndroidプロジェクトを作成します。私が選んだSDKは1.6ですが、最小選択値は1.5であるべきです。

新しいフォルダlibsを作成し、そこにダウンロードしたjarをコピーします。androidプラットフォームではgdx.jarとgdx-backend-android.jarをコピーするだけです。

リファレンスを追加し、armeabiとarmeabi-v7aフォルダをlibsフォルダにコピーします。

その後、問題がないか環境をテストするアプレットを書いてください。

AndroidApplicationクラスを継承した新しいクラスHelloGameActivityを作成します。

package comblogs.htynkn;     
import com.badlogic.gdx.backends.android.AndroidApplication;     
import android.os.Bundle;     
public class HelloGameActivity extends AndroidApplication {     
@Override     
public void onCreate(Bundle savedInstanceState) {     
super.onCreate(savedInstanceState);     
initialize(new FirstGame(), false);     
}     
}   
package comblogs.htynkn;     
import com.badlogic.gdx.ApplicationListener;     
import com.badlogic.gdx.Gdx;     
import com.badlogic.gdx.graphics.GL10;     
import com.badlogic.gdx.graphics.g2d.SpriteBatch;     
public class FirstGame implements ApplicationListener {     
//描画用SpriteBatch     
private SpriteBatch batch;     
@Override     
public void create() {     
batch = new SpriteBatch(); //インスタンス化する     
}     
@Override     
public void dispose() {     
// TODO Auto-generated method stub     
}     
@Override     
public void pause() {     
// TODO Auto-generated method stub     
}     
@Override     
public void render() {     
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); //画面をクリアする     
batch.begin();     
batch.end();     
}     
@Override     
public void resize(int width, int height) {     
// TODO Auto-generated method stub     
}     
@Override     
public void resume() {     
// TODO Auto-generated method stub     
}     
}   

実際の書き込みがないため、効果はブラックボックスです。

libgdxの環境設定は以上です。

注:Logcatをよく見ると、E/libEGL(382): couldn't load <libhgl.so>ライブラリというエラーがあります。

これは、ハードウェアOpenGLドライバをロードしようとしてシステムが失敗し、ソフトウェアの処理方法にフォールバックしたのであって、欠陥やエラーではありません。

Read next

NVIDIAはついにオープンソース・ドライバに真剣に取り組むようになった。

オープンソース・ドライバはLinuxの開発者やユーザーにとっては非常に気になるものですが、残念ながら多くの企業は気にしていません。 例えば、NVIDIAはオープンソース・グラフィックスカード・ドライバを決して好んでいませんし、Linuxコミュニティはそれを非常に嫌っており、リーナス・トーバルズは公衆の面前で「Fxxk You」と罵ったことさえあります。リーナス・トーバルズは公衆の面前で "Fxxk You "と罵ったことさえあります。

Mar 7, 2014 · 1 min read