前回までに無敵状態(ハエたたきモード)の準備をしました。
ゲージを溜めるところまでしたので、今回はハエを倒したいと思います。
友達が、ハエがピューって飛んで行く感じはどうかというので、そんな感じにしてみようと思います。
まずは少しロジックを考えてみましょう。今までは
・衝突する
1.敵か
2.アイテムか
↓
・敵なら死亡
・アイテムなら取得
でした。今回は
・衝突する
1.敵
1.無敵状態か
2.普通の状態か
↓
・無敵状態ならハエ倒す
・普通状態なら死去
という流れになります。なにが言いたいかって、衝突判定のところでif文を増やしてやりゃいいってだけで、簡単ですね、ってことです笑
では、Player.jsに衝突判定を書いていたので追記していきます。
switch (other.tag) {
// 敵と当たった時
case 1:
// 無敵状態かチェック
if (this._GMScript._isSwatter) {
// 敵を倒したら少しスコアが上がる
this._GMScript.scoreIncrement(10);
other.getComponent(cc.BoxCollider).enabled = false;
// 敵を倒した時のSE再生
cc.audioEngine.play(this.thrustSound,false,0.3),
// 敵をぶっ飛ばすアクションを引数の順番に実行
other.node.runAction(cc.sequence(
// 0.5秒で横に1500,縦にランダム×500移動させる
cc.moveBy(0.5,1500,cc.randomMinus1To1() * 500),
// 画面外までぶっとばしたらノード削除
cc.callFunc(function() {
other.node.destroy();
},this)));
}else{
// ここより下が今までの死亡パターン
// タッチを無効にする
this.enableTouch(false);
// アニメーションの停止
this.node.stopAllActions();
this.enableTouch(false);
this.node.destroy();
this._GMScript.exeGameOver();
}てな感じにしてみました。
こんな感じになります。(動画は開発中のものです)
はえたたき


コメント