前回までに無敵状態(ハエたたきモード)の準備をしました。
ゲージを溜めるところまでしたので、今回はハエを倒したいと思います。
友達が、ハエがピューって飛んで行く感じはどうかというので、そんな感じにしてみようと思います。
まずは少しロジックを考えてみましょう。今までは
・衝突する
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(); }
てな感じにしてみました。
こんな感じになります。(動画は開発中のものです)
はえたたき
コメント