Flex、AIR、Java、Androidなど

Archive for 1月 27th, 2011

1/27 20:02 ソース、zipファイル修正。
1/28 12:10 ソース、sipファイル修正。詳しくはzipファイル内のreadme.txtに記載。

Nexus Sが届きましたのでとりあえずざっと作ってみました。強制終了したりもあると思いますが多目にみて下さい。w
連絡くれたら自分の手持ちの端末で再現するかどうかやってみて、できれば直します。うちのNexus Sだと動いてるんですが・・・。

とりあえず実機がある方は上のQRコードかここからアプリ落として動かしてみてください。apk置いといてもいいのですがエミュレーターではメイン画面すら開けないほど重いのでやめときます。
動いてますか?瀬戸デ部な方々に手伝ってもらってFPSのチェックをしたのですが、IS03だと遊べないレベルかもしれません。Xperiaでギリ、Desireとやや遅くらいかも。まあパフォーマンスのことは私に聞かれてもわかんないのでこれで進めますね。
サンプルになるほど出来は良くないですが、とりあえずソースまるごと公開します。
まず、AndEngineとOpenFeintを前回の記事を見ながら使えるようにして下さい。ソースのZIPも公開しますが、OpenFeintのIDがないと強制終了すると思うんで実際に動かしてみたい方はID取って下さい。無料ですぐもらえます。
あとはガリガリ書いていくだけ。なるべく分かりやすいように変数や関数は名前付けてます。落とす前に見たいという方の為に貼っときます。長いですし横が入りきらないんでお手持ちのテキストエディタにでも貼りつけてみて下さい。
とりあえず何点かポイント?を。

とりあえず画面は下層からEngine、Scene、Layerで構成されている。Layerはシーン上に複数置くこともできるし、一枚だけでも良い。Scene、LayerへはどこからでもgetScene().getTopLayer()とかでアクセス可能。
Layer上に画像から生成したオブジェクト(Sprite)やテキスト等を置くときには準備が必要。画像の場合はTextureRegionを作ってそれをTextureに配置、それからEngineのTextureManagerにTextureを登録。こっちにもちょっと書いてます。
毎フレーム毎の処理を登録するのはscene.registerUpdateHandler(IUpdateHandler updateHandler)で。
アニメーション処理は〇〇Modifierが担当。AndEngineに同梱のドキュメント読むべし。
Sprite生成時に同時にListenerを登録してnewできるが、getEngine().getScene().getTopLayer().registerTouchArea(Sprite);しないと反応しないので注意。
画像はできるだけ軽く。8bitで書きだす
処理入れるごとにFPSチェックする。すぐ重たなるので。パーティクルとか大丈夫なん?
女の子に100万DLの自作アプリ見せる → はて (・_・”)?、 3日で作ったてきとーゲーム → +.d(・∀・*)♪゚+.゚。、はおおげさでもとりあえず話ふくらます出発点くらいにはなる!モバゲーとかみんなやってるしね。

Javaのソースファイルは3つだけです。
InitialActivityFrame.java
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361package biz.stachibana.android.Hige;

import java.io.IOException;

import org.anddev.andengine.audio.music.Music;
import org.anddev.andengine.audio.music.MusicFactory;
import org.anddev.andengine.audio.sound.Sound;
import org.anddev.andengine.audio.sound.SoundFactory;
import org.anddev.andengine.engine.Engine;
import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.options.EngineOptions;
import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation;
import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.shape.IShape;
import org.anddev.andengine.entity.shape.modifier.AlphaModifier;
import org.anddev.andengine.entity.shape.modifier.FadeInModifier;
import org.anddev.andengine.entity.shape.modifier.LoopShapeModifier;
import org.anddev.andengine.entity.shape.modifier.SequenceShapeModifier;
import org.anddev.andengine.entity.shape.modifier.IShapeModifier.IShapeModifierListener;
import org.anddev.andengine.entity.sprite.Sprite;
import org.anddev.andengine.input.touch.TouchEvent;
import org.anddev.andengine.opengl.texture.Texture;
import org.anddev.andengine.opengl.texture.TextureOptions;
import org.anddev.andengine.opengl.texture.region.TextureRegion;
import org.anddev.andengine.opengl.texture.region.TextureRegionFactory;
import org.anddev.andengine.ui.activity.LayoutGameActivity;
import org.anddev.andengine.util.Debug;
import org.anddev.andengine.util.modifier.IModifier;

import android.content.Intent;
import android.net.Uri;

import com.openfeint.api.OpenFeint;
import com.openfeint.api.OpenFeintDelegate;
import com.openfeint.api.OpenFeintSettings;
import com.openfeint.api.ui.Dashboard;

public class InitialActivityFrame extends LayoutGameActivity {

    private static [...]


Categories

 

2011年1月
« 12月   2月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

About

Author: tachibana

  • ちょっとしたことはTwitterに書いています。こっちはアプリの公開等の時に更新されます。
  • 最近はもっぱらJavaとObjective Cです。AS3は飽きました。
  • スクリプト言語ではPerlが好きでしたが最近はGAE/Jで何でもやってます。
  • Linuxは自宅サーバー建てるのがやっとのレベルです。前の会社で何日も徹夜してやったのはいい思い出です。
  • アプリへのご要望などご意見等ありましたらお気軽にご連絡下さい。

Alternative content here