AndEngineでSpriteに個別にデータを持たせる

AndEngineは画像、Spriteごとに
位置とかアニメーション情報とかを持たせられるけど、
そいつに体力とか攻撃力とか個別のデータを持たせる方法が本とかに書いてない。

自分で新たにEntityを継承してクラスとか作れば解決するのかもしれないが、
面倒なのでもうちょい俺のような素人でも何とか出来ないか色々やってみた(怠惰)










Entityを継承してるSpriteAnimatedSpriteには
setUserDatagetUserDataというメソッドがくっついている。
これすげえ重要なやつだよ!ちゃんと本に書いてくれよ!



setUserDataは好きなものをぶち込めるハイセンスなシロモノだ!

真面目な話本当に何でもよくて、
int aってやれば setUsetData(a)も許されて
String bってやれば setUsetData(b)も許される。
そのデータをSpriteに格納し、後でgetUserDataで取りだすことができる。


取り出す際は、例えば上で言えばintのaを入れたのなら

int c = (int)○○.getUsetData();

とキャストすれば取り出せる。


データ列をそのままぶち込んで、キャスト時に合わせることで実現してるんだろうなあ(適当)



まぁそれはともかく、オリジナルのデータを用意したい場合は
そのクラスを作って、それをSpriteにぶち込めばいい。

攻撃力、体力などを持たせたクラスのインスタンスを作ってsetUserDataでセット。
タグで判別し、必要に応じてgetUserDataでキャストして取り出す。

とりあえずはこうすれば、簡素にSpriteごとに個別データを持たせることが出来る。
便利便利。


senpu.png

テーマ : ゲーム製作 関連
ジャンル : ゲーム

コメントの投稿

Secret

プロフィール

いすぃ

Author:いすぃ
ゲームを作ってたりゲームしてたり何もしてなかったりしてます

お仕事あれば請け負います。
ゲーム作ってみたい!とか初歩からプログラムやってみたい!って人もご一報ください。

ゲーム面白かったよ!
今後も応援するよ!などなどの意味で下記から心ばかりの支援をしていただけると本当に助かります。
Enty


twitter
ニコニココミュ
pixiv

最新記事
カテゴリ
最新コメント
最新トラックバック
月別アーカイブ
kaunta-
検索フォーム
リンク
スポンサードリンク