スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

パワーアップの実装~その2~

久々の更新です。
前回の記事でAnimatedSpriteがどういうものかを理解していただけたと思いますので、今回はいよいよAnimatedSpriteを使ったコードの中身を紹介していこうかと思います。

// プレイヤー(マリオ)を追加する!
マリオ = getBaseActivity().getResourceUtil()
    .getAnimatedSprite("player_01_mario_normal.png", 1, 18);
マリオ.setPosition(160, 352);
if (現在のライフ == 1) {
    マリオ.animate(new long[] { 60, 60, 60, }, 1, 3, true);
} else if (現在のライフ == 2) {
    マリオ.animate(new long[] { 60, 60, 60, }, 7, 9, true);
} else if (現在のライフ == 3) {
    マリオ.animate(new long[] { 60, 60, 60, }, 13, 15, true);
}
attachChild(マリオ);
マリオ.setZIndex(レイヤー07プレイヤー用);
sortChildren();

すぷ…何とかを導入してみました。これでコードも見やすくなったでしょうか?

2行目と3行目でマリオの画像(下図を参照)を18等分に切り分けています。
ここはテキストのサンプルをそのまま使っており、自分自身もあまり内容を理解していないので解説は控えます。
とりあえず上記で説明したとおり、画像の切り分けを行っているということだけ把握してください。

4行目はスプライトのセット位置、指定した座標にスプライトをセットします。

5行目~11行目が今回のメイン。
if文の条件式に"現在のライフ"という変数を取り入れていますね。
ゲームスタート時にプレイヤーの状態に応じて画像が切り替わるようにしています。

player_01_mario_normal (4)

現在のライフ == 1の場合は①、現在のライフ == 2の場合は②、現在のライフ == 3の場合は③のようにそれぞれの状態に応じたマリオのダッシュアニメーションが呼び出される仕組みになっております。

次にジャンプのコードも見てみましょう!

public void jumpSprite() {
    SoundPlay.seJump.play();
    プレイヤーのダッシュフラグ = false;
    プレイヤーのジャンプフラグ = true;
    // マリオの動きも変更
    マリオ.stopAnimation();
    if (現在のライフ == 1) {
        マリオ.setCurrentTileIndex(4);
    } else if (現在のライフ == 2) {
        マリオ.setCurrentTileIndex(10);
    } else if (現在のライフ == 3) {
        マリオ.setCurrentTileIndex(16);
    }
}

1行目はjumpSprite()メソッドの宣言でプレイヤーが画面をタップしたときに呼び出されます。

2行目はジャンプ時の「ぷう~ん」という効果音で、3行目と4行目はフラグの管理です。(今回は解説範囲外の項目になる為、ここではスルーします。)

player_01_mario_normal (5)
6行目はアニメーションの再生を一時的に止めています。
ジャンプ時にはプレイヤーのアニメーションを行いませんよね。
なのでここでは"animateメソッド()"ではなく"setCurrentTileIndexメソッド()"を呼び出します。
"setCurrentTileIndexメソッド()"はアニメーションは行わないけど、ピンポイントで特定の画像を1コマだけ表示したい場合などに使用します。

7行目~13行目ご覧ください。
ここでもif文を使いライフの値に対して画像を振り分けているのが分かりますね。
マリオ.setCurrentTileIndex(4);の場合、上から5番目の画像(0も数字として含むため)が呼び出されます。
それをパワーアップごとに適した画像を設定してあげるだけ。意外と簡単だったでしょ?
こんな感じで"animateメソッド()"と"setCurrentTileIndexメソッド()"を使い分けることでマリオのアニメーションもきっちりと再現出来ちゃうわけなんですよ。さすがはAndEngineですね!
スポンサーサイト

コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
非公開コメント

プロフィール

岡本 賢治

Author:岡本 賢治
 
☆☆☆☆☆☆☆☆☆☆☆☆
 
Android専用アクションゲーム
「スーパーけんじラン」好評配信中!
 
↓↓↓↓↓↓↓↓↓↓↓↓

 
・公式サイトはこちらから
http://okamotodo.jimdo.com/

最新トラックバック

アクセスカウンター

オンラインカウンター

現在の閲覧者数:

検索フォーム

ブロとも申請フォーム

QRコード

QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。