さてさて、連載終了かと思いきや笑
デバッグ(遊んでもらってるだけ)してもらってる友達に相談したら無敵モードでも作ってみたら?と。
所謂○リオの○ター状態。もしくは、○ラワーを取った時のような、武器を装備した状態。
以前にハエをトイレで流す武器は作ったので、無敵モードを実装してみたいと思います。
まずはアニメーションを上図のように作成します。
久しぶりなので以前のブログで確認してください。(自分も確認した)
それでは、無敵…..もとい、ハエたたきモードを作成していきます。
アイテムを回収して。。。は以前やったので、今回はゲージを溜めていきたいと思います。
ProgressBarというのを使ってみたいと思います。
設定は下図のような感じで。。。
ここら辺は使ってみて設定しての繰り返しです。。はい。
メーターみたいなゲージが出来上がりました。親ノードが入れ物みたいなもので、子ノードのbarというのが実際に溜まっていくバーぽいです。
スクリプトですが、ちょっと、醜いものになりました。設計って大事だなって思いました。
GameManager.jsのプロパティに追記します
// ハエたたきゲージ swatterGage:{ default: null, type: cc.ProgressBar }, // ハエたたきモード値 _swatterValue: 0, // ハエたたきモードかどうか _isSwatter: false,
そしたら、メソッドを作成します。
swatterIncrement: function (value) { if (this._isSwatter) this._swatterValue += value; // 100以上にはしないようにする if (this._swatterValue >= 100) this._swatterValue = 100; // ゲージの満タンが100だとする this.swatterGage.progress = this._swatterValue / 100; // ハエたたきモード突入 if (this._swatterValue >=100 && !this._isSwatter ) this._isSwatter = true; },
こんな感じで、メソッドが呼び出されたら裏で持ってる変数(上限100)に値を足していって
その百分率でゲージを増やしていってます。
このメソッドをupdate()で常に監視して実行していきます。
// ハエたたきモード if (this._isSwatter) { this._swatterValue -= (20 * dt); this.swatterGage.progress = this._swatterValue / 100; // ゲージが最後まで減ったら普通の走りに戻す if (this._swatterValue <= 0) { this._swatterValue = 0; this._isSwatter = false; } }
Player.jsの方でハエたたきモードの時はキャラクターのアニメーションを変える記述を追加して終了です。
いい感じに仕上がると↓の感じに
14
増えるゲージが早いのは動画のためだからです笑
では、次回はこのハエたたきモードでハエを倒していきたいと思います。
コメント