スポンサーサイト

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

中級ステージ2-1を解放

2014.06.15.Sun.01:19
先日公開した【空飛べ!もやし!!】ですが、
ちまちまと更新を行いつつ、やっと中級ステージの2-1面をアップしました。

いやいや、もうバグバグだらけで修正作業で手がいっぱい
まったくステージ追加もできずでしたorz

しかし、私頑張った!
プレイしてくれた方からの助言をもとに
コンティニュー機能も搭載!
入門編の初級からステップアップした中級では動く床(雲)も登場して
スピード感あふれるステージに・・・なってるといいな。。。

ゲームっぽさは上がってきてると思うんだけど、
いかんせん、ストーリー性がないような。。。
早くもやし君を飛ばしたいです(--;

【今後の課題】
・上級ではアイテムでもやし君を飛ばしたい
・1プレイが長いから、ショートコースを作りたいな
・エンドレスコースは裏メニューにしよう
・次のゲームの案とたたき台つくらないとなぁ。。。

空飛べ!もやし!!

2014.06.04.Wed.07:08
もやしシリーズの第二弾
【空飛べ!もやし!!】を公開しました~

空飛べ!もやし!!をダウンロード

空飛べ!もやし!!2

空飛べ!もやし!!3

空飛べ!もやし!!をダウンロード

・・・シリーズになってよかったんだろうか。。。

今回のゲームはスマホ縦持ちの横スクロールにしてみました。
前作よりはゲームっぽくなったんじゃないかな?

ちょっと手汗系ゲームってのをコンセプトにしてみたんだけど、
開発しながら何度もプレイしていると、慣れてしまって
ドキドキ感がわからなくなっています(笑

開発で覚えたスキルの大きなものは
tmxマップデータ(画面上のオブジェクトを配置管理、ソフトを使用するとビジュアル的に配置できる)
でしたね。
現段階ではまだ初級面だけのゲームですが、今後、中級・上級をリリースするためのマップデータを簡単に作成できます♪

ぜひ遊んで感想を聞かせてください(^^

Special Thanks to
岡本堂様
みじんこ様
まど様

unregisterEntityModifierの使い方

2014.05.22.Thu.22:59
先日の記事でSpriteに対するregisterEntityModifierの停止方法として
clearEntityModifiers()を紹介しましたが、

複数のregisterEntityModifierの中から一部の物だけを止める方法として、
unregisterEntityModifierとModifierの動きも記述してましす。

まずは参考ロジックです。

LoopEntityModifier lem = new LoopEntityModifier(
new SequenceEntityModifier(
new MoveXModifier(0.5f, getX(), getX()-100),
new MoveXModifier(0.5f, getX()-100, getX())));   //①左右に揺れる
AlphaModifier am = new AlphaModifier(3.0f, 0, 1);   //②徐々に表示される
MoveXModifier mxm = new MoveXModifier(3.0f, getX(), getX()-200);   //③左に移動
MoveYModifier mym = new MoveYModifier(3.0f, getY(), getY()-200);   //④上に移動

SequenceEntityModifier sem = new SequenceEntityModifier(am,mxm,mym);
//↑②、③、④の順に実行させる
Sprite.registerEntityModifier(sem);   //スプライトに登録
Sprite.registerEntityModifier(lem);   //スプライトに登録
Sprite.unregisterEntityModifier(sem);   //すでに登録されているsemのみを削除する。

このようなロジックを書く場合、
結果的に実行されるのは①だけとなります。

unregisterEntityModifierを行わない場合には
実行順は(②、③、④)と①が並行実行されます(ParallelEntityModifierを行うのと同じこと)

参考図書(AndEngineでつくるAndroid2Dゲーム)をまねると、
Sprite.registerEntityModifier(new ParallelEntityModifier(
new SequenceEntityModifier(②、③、④),
new LoopEntityModifier(①));
のようになるでしょうかね(たぶん

背景などはひとまとめにして記述するのもいいのですが、
敵の動きなど相対的に動きが変わるものには
後々EntityModifierを追加・削除したくなることがあります。

このような場合にはModifierを変数として持たせることでパーツ的に組み合わせることができます。
(フィールド変数に持たせればいろんなところから取り出せます)

eclipseでデバックする際に、Spriteを監視してみてください。
Spriteに格納されたModifierが配列(構造体?)として組み込まれているのがわかります。

画面エフェクトなどに使い勝手がいいですね。

ジャンプ処理

2014.05.17.Sat.14:00
もう初夏の陽気ですね
どうもすでに夏バテ気味のbaririnです。

さて、主人公のジャンプ処理に関してJumpModifierってのを発見しました。
ドキュメントを読めば一発でわかることだったのですが、ちゃんと読み込まないといけませんね。

もともとTimerHandler内でジャンプ処理を呼び出していたのですが、
うちの古いスマホさんでは画面描写の動きが重く、スマホの発熱量が多いんですよね。

で、TimerHndlerからジャンプ処理を切り抜いて、
onSceneTouchEventから直接ジャンプ処理を呼び出すようにしました。
さらに、ジャンプ処理をJumpModifierに任せることで、重力計算など煩雑なものはすべてAndEngineに喰ってもらうように変更。

JumpModifierはこんな感じ
JumpModifier jm = new JumpModifier(ジャンプ時間, 開始X座標, 開始Y座標, 着地X座標, 着地Y座標, 高さ);

もやし大戦のように主人公の開始座標、着地座標が同じ場合は

JumpModifier jm = new JumpModifier(2.0f, Sprite.getX(), Sprite.getY(), Sprite.getX(), Sprite.getY(), 100);
のようにするとその場でジャンプしてくれます。

ただ、2段ジャンプでは開始座標、着地座標が空中となるため、もやし君が空中を走るという困った事象が(--;
苦肉の策として、

Sprite.registerEntityModifier(new SequenceEntityModifier(
new JumpModifier(
1.0f,
開始X座標,開始Y座標,
着地X座標,着地Y座標,
100),
//地面まで落ち切りたい
new MoveYModifier(1.0f, Sprite.getY(), 地面のY座標)));
のように、ジャンプ処理後に無理やり地面まで叩きつけてます(汗

地面と接触した際には、Sprite.clearEntityModifiers();によりSpriteの動きを止めて地面の上にSpriteを再描写させればOK
(あれ?ブログ書いてて思ったけど、着地Y座標を地面のY座標にすれば落ち切ってくれるのかな?)

ちょっと無理やり感も否めませんが、TimerHandler内でのジャンプ処理を減らせたので気持ち動きが軽くなりました。

でも難点が一つ。。。

ジャンプ中に一時停止をするともやし君が地面にめり込みます(TT
Sprite.clearEntityModifiers()ではなく
Modifierを一時停止することってできないのかなぁ~と悩み中。。。

もやし大戦

2014.05.04.Sun.23:22
もやし君が一生懸命走る横スクロールアクションゲームを作りましたよ~

その名も
【もやし大戦】

はて?なにが大戦か?
いや~、もともとはもやし君を横スクロールで走らせながら、攻撃もできるようにしてたんですが、
操作が難しいとの指摘で、敵をよけるだけに(汗

タイトルログがそのままなもので、もやし大戦に(^^;

実験的に作ったゲームですが、
ぜひ遊んでみて感想を聞かせてくれるとうれしいです♪

一般的なくそゲーというやつですが・・・

Download もやし大戦 / Android

もやし大戦をダウンロード



もやし大戦OP


もやし大戦PLAY

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