[android dev見習い] AndEngineのサンプルをビルドしてみる
![[android dev見習い] AndEngineのサンプルをビルドしてみる](https://www.gorochan.net/wp-content/uploads/2014/03/android-developer-tools.jpg)
ちょっとAndroidアプリの作成も勉強してみようかな~と思って、取っ掛かり何しようかと思ったり思わなかったりした今日この頃、どうせならやっぱりゲームだろう!という感じで色々とググってみたら、こんなページを発見しますた!
いろんなのがあるんだなぁ…
とりあえず、ライセンス的にもアレで、情報もありそうななさそうな、AndEngineとやらを試してみることにした。
Githubからライブラリとサンプルをダウンロードしてビルドしてみることにした。
ダウンロードするのは以下のもの
- AndEngineExamples
- AndEngine
- AndEngineAugmentedRealityExtension
- AndEngineLiveWallpaperExtension
- AndEngineMODPlayerExtension
- AndEngineMultiplayerExtension
- AndEnginePhysicBox2DExtension
- AndEngineScriptingExtension
- AndEngineSVGTextureRegionExtension
- AndEngineTexturePackerExtension
- AndEngineTMXTiledMapExtension
上記すべてworkspaceにコピーしないと面倒くさいことになります(それほどでもない)。なので、workspaceにコピーします。ADTで自動ビルド設定にしている(というかデフォルトw)ので、勝手にビルドが始まるわけですがエラーでるじゃん…orz
さっぱり分からないので、ggって修正方法を探してみた。次の様に修正すればいいらしい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package org.andengine.examples; import org.andengine.engine.camera.Camera; import org.andengine.engine.options.EngineOptions; import org.andengine.engine.options.ScreenOrientation; import org.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy; import org.andengine.entity.modifier.LoopEntityModifier; import org.andengine.entity.modifier.ScaleModifier; import org.andengine.entity.modifier.SequenceEntityModifier; import org.andengine.entity.primitive.Mesh; import org.andengine.entity.primitive.DrawMode; import org.andengine.entity.scene.IOnSceneTouchListener; import org.andengine.entity.scene.Scene; import org.andengine.entity.scene.background.Background; import org.andengine.entity.sprite.ButtonSprite; import org.andengine.entity.sprite.ButtonSprite.OnClickListener; import org.andengine.entity.util.FPSLogger; import org.andengine.input.touch.TouchEvent; import org.andengine.opengl.vbo.DrawType; import org.andengine.ui.activity.SimpleBaseGameActivity; import org.andengine.util.Constants; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
private void addFace(final float pX, final float pY) { final FixtureDef objectFixtureDef = PhysicsFactory.createFixtureDef(1, 0.5f, 0.5f); final AnimatedSprite face = new AnimatedSprite(pX, pY, this.mBoxFaceTextureRegion, this.getVertexBufferObjectManager()); face.animate(100); final Body body = PhysicsFactory.createBoxBody(this.mPhysicsWorld, face, BodyType.DynamicBody, objectFixtureDef); this.mScene.attachChild(face); this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(face, body, true, true)); if(this.mFaceCount == 0){ this.mBoundChaseCamera.setChaseEntity(face); } this.mFaceCount++; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
private void addFace(final float pX, final float pY) { final FixtureDef objectFixtureDef = PhysicsFactory.createFixtureDef(1, 0.5f, 0.5f); final AnimatedSprite face = new AnimatedSprite(pX, pY, this.mBoxFaceTextureRegion, this.getVertexBufferObjectManager()); face.animate(100); final Body body = PhysicsFactory.createBoxBody(this.mPhysicsWorld, face, BodyType.DynamicBody, objectFixtureDef); this.mScene.attachChild(face); this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(face, body, true, true)); if(this.mFaceCount == 0){ this.mChaseCamera.setChaseEntity(face); } this.mFaceCount++; } |
1 2 3 4 5 6 7 8 9 10 11 |
@Override public Scene onCreateScene() { this.mEngine.registerUpdateHandler(new FPSLogger()); final Scene scene = new Scene(); scene.setBackground(new Background(0.09804f, 0.6274f, 0.8784f)); final VertexBufferObjectManager vertexBufferObjectManager = this.getVertexBufferObjectManager(); this.mText = new Text(50, 40, this.mFont, "", 1000, new TextOptions(AutoWrap.LETTERS, AUTOWRAP_WIDTH, HorizontalAlign.CENTER, Text.LEADING_DEFAULT), vertexBufferObjectManager); scene.attachChild(this.mText); |
なるほど。で、エミュレータで動かしてみれば、いいわけですね…というか、エミュレータ遅っw
-
前の記事
The Nifty MiniDrive 来日しますた。 2014.03.06
-
次の記事
[android dev見習い]高速Androidエミュレータを使う 2014.03.08
コメントを書く