さてさて、連載終了かと思いきや笑
デバッグ(遊んでもらってるだけ)してもらってる友達に相談したら無敵モードでも作ってみたら?と。
所謂○リオの○ター状態。もしくは、○ラワーを取った時のような、武器を装備した状態。
以前にハエをトイレで流す武器は作ったので、無敵モードを実装してみたいと思います。
まずはアニメーションを上図のように作成します。
久しぶりなので以前のブログで確認してください。(自分も確認した)
それでは、無敵…..もとい、ハエたたきモードを作成していきます。
アイテムを回収して。。。は以前やったので、今回はゲージを溜めていきたいと思います。
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
増えるゲージが早いのは動画のためだからです笑
では、次回はこのハエたたきモードでハエを倒していきたいと思います。






コメント