スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
新しい記事を書く事で広告が消せます。
AndEngine覚書
■onCreateResources内でリソース読み込み
BitmapTextureAtlas
ITextureRegion
はセット扱い。サンプルだと大体クラス変数
BitmapTextureAtlasの変数 = new BitmapTextureAtlas(this.getTextureManager(), 32, 32, TextureOptions.BILINEAR);
32, 32の部分は多分縦横。 getTextureManagerはSimpleGameActivityクラスの中にあるのか分からんけど普通に使える
ITextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.ITextureRegionのメンバ変数名, this, "読み込む画像.png", 横パネルの数, 縦パネルの数);
この辺は画像構成によって変わるけど一枚画像を読み込みたい場合(タイル上の画像じゃない場合)は0,0を指定すればOKっぽい
this.BitmapTextureAtlasの変数.load();
ロードすると画像読み込みされる(多分)
■CreateSceneでやること
final Sprite temp = new Sprite(10,10, this.mTempRegion, this.getVertexBufferObjectManager());
Spriteの第1,2引数は画面上のX,Y座標。mTempRegionはどのテクスチャを使うか(ITextureRegion)
final PhysicsHandler tempPhysicsHandler = new PhysicsHandler(temp);
物理演算ハンドラ?にスプライトを渡してやる
temp.registerUpdateHandler(tempPhysicsHandler);
スプライトの更新ハンドラとして物理演算用ハンドラ(?)を渡してやる
scene.registerUpdateHandler(new IUpdateHandler() {
@Override
public void reset() { }
@Override
public void onUpdate(final float pSecondsElapsed) {
if(temp.collidesWith(face)){
temp.setAlpha(0.5f);
}else{
temp.setAlpha(1.0f);
}
}
});
スプライトのcollidesWithメソッドに別のスプライト変数を渡してやるとコリジョン判定してくれる
trueかfalseで帰ってくるのでそれで判別
BitmapTextureAtlas
ITextureRegion
はセット扱い。サンプルだと大体クラス変数
BitmapTextureAtlasの変数 = new BitmapTextureAtlas(this.getTextureManager(), 32, 32, TextureOptions.BILINEAR);
32, 32の部分は多分縦横。 getTextureManagerはSimpleGameActivityクラスの中にあるのか分からんけど普通に使える
ITextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.ITextureRegionのメンバ変数名, this, "読み込む画像.png", 横パネルの数, 縦パネルの数);
この辺は画像構成によって変わるけど一枚画像を読み込みたい場合(タイル上の画像じゃない場合)は0,0を指定すればOKっぽい
this.BitmapTextureAtlasの変数.load();
ロードすると画像読み込みされる(多分)
■CreateSceneでやること
final Sprite temp = new Sprite(10,10, this.mTempRegion, this.getVertexBufferObjectManager());
Spriteの第1,2引数は画面上のX,Y座標。mTempRegionはどのテクスチャを使うか(ITextureRegion)
final PhysicsHandler tempPhysicsHandler = new PhysicsHandler(temp);
物理演算ハンドラ?にスプライトを渡してやる
temp.registerUpdateHandler(tempPhysicsHandler);
スプライトの更新ハンドラとして物理演算用ハンドラ(?)を渡してやる
scene.registerUpdateHandler(new IUpdateHandler() {
@Override
public void reset() { }
@Override
public void onUpdate(final float pSecondsElapsed) {
if(temp.collidesWith(face)){
temp.setAlpha(0.5f);
}else{
temp.setAlpha(1.0f);
}
}
});
スプライトのcollidesWithメソッドに別のスプライト変数を渡してやるとコリジョン判定してくれる
trueかfalseで帰ってくるのでそれで判別
e3roid使ってみよう。導入編
おはようございます、ふぃぶです。
プログラムはまぁぼちぼち・・・。
最近一からゲーム作るのが非常に面倒くさいです。
ゲームシステム意外の部分で詰まる(OpenGLの基幹的なとことかスレッドとかそういうとこ)なんて
ハッキリ言って時間がいくらあっても足りません。
社会人はそんなに暇じゃないです。
というわけで、倦厭していたゲームエンジンを使ってみようと思います。
「Android ゲームエンジン」で検索すると大体の物は出てきます。
今回はe3roidを選択して見ました。
さて、e3roidを実際使う方法ですが公式でチュートリアルが存在します。
が、まぁ見たとおり英語なので、あたしみたいな英語アレルギーな人に取っては鬼門。
というわけで、ざっくりとやることを追います。
【前提】
exlipceでAndroidプロジェクトを作成しておいてください。
※以下自分のPJと記載
【手順】
・e3roidの公式に行き e3roid-1.2.11.zipをページ左のメニューよりDL
・DLしたzipファイルを解凍。
・解凍したファイル内のE3roidExamples\libsをエクスポートします
・上記エクスポートしたlibsフォルダを自分のPJにインポートします。
・自分のPJのプロジェクト->プロパティ->Javaビルド・パス->ライブラリーよりJarの追加ボタンでlibs配下のe3roid.jarを選択・追加します
以上で、セットアップ完了です。
チュートリアルでいうとここの話。
稼動確認をします。
HelloWorldのサンプルを自分のPJに貼り付けます
※アクティビティ名は自分のPJのメインアクティビティ名に置き換えてください
コンパイルエラーなしで実行すればHelloWorldが表示されます。
以上、導入!
ここからどこまで作れるかなぁ
プログラムはまぁぼちぼち・・・。
最近一からゲーム作るのが非常に面倒くさいです。
ゲームシステム意外の部分で詰まる(OpenGLの基幹的なとことかスレッドとかそういうとこ)なんて
ハッキリ言って時間がいくらあっても足りません。
社会人はそんなに暇じゃないです。
というわけで、倦厭していたゲームエンジンを使ってみようと思います。
「Android ゲームエンジン」で検索すると大体の物は出てきます。
今回はe3roidを選択して見ました。
さて、e3roidを実際使う方法ですが公式でチュートリアルが存在します。
が、まぁ見たとおり英語なので、あたしみたいな英語アレルギーな人に取っては鬼門。
というわけで、ざっくりとやることを追います。
【前提】
exlipceでAndroidプロジェクトを作成しておいてください。
※以下自分のPJと記載
【手順】
・e3roidの公式に行き e3roid-1.2.11.zipをページ左のメニューよりDL
・DLしたzipファイルを解凍。
・解凍したファイル内のE3roidExamples\libsをエクスポートします
・上記エクスポートしたlibsフォルダを自分のPJにインポートします。
・自分のPJのプロジェクト->プロパティ->Javaビルド・パス->ライブラリーよりJarの追加ボタンでlibs配下のe3roid.jarを選択・追加します
以上で、セットアップ完了です。
チュートリアルでいうとここの話。
稼動確認をします。
HelloWorldのサンプルを自分のPJに貼り付けます
※アクティビティ名は自分のPJのメインアクティビティ名に置き換えてください
コンパイルエラーなしで実行すればHelloWorldが表示されます。
以上、導入!
ここからどこまで作れるかなぁ