unity初めて一週間ほどのプログラム初心者です。
今回unityの2dシューティングのチュートリアルでゲームを作っています。はじめてのUnity 2Dシューティング
今回エネミーのHP、弾の攻撃力、アニメーションの追加を参考にして作っていたのですが、
プレイヤーにもHPをつけたいと思い、また被弾時には開始時にもある無敵状態を実装しようと思いました。
↑のページの「11.1 HP(ヒットポイント)と攻撃力(power)の実装」を参考にプレイヤーにHPを持たせることはできた(ちゃんとHPも減る)のですが、無敵がないと連続で食らってしまうので
「11.2 ダメージを受けた時の表現」と「11.3 プレイヤーの無敵時間」を参考に同じように無敵への遷移を作ったら、
被弾時に無敵状態のアニメーションに遷移しようとすると40フレーム前後でプレイヤーのオブジェクトが消えてしまいます。
その際無敵時の点滅も描画されておらず、無敵状態もありません。
ゲームオーバー画面は出ないので、自作スクリプト外でなにかが起こっていると思うのですが皆目見当がつきません。
試したこと
トリガーを呼ぶときに何か起こっているのかと思い、下記画像のようにデフォルトの遷移で試してみましたが同じように消えてしまうので
トリガーではなく遷移で何かが起こっているのかと思います
どこをどうしたらいいのかさえわからない状態なので、解決方法とまで行かなくても、問題解決のためにどういうことをすればいいのか等教えていただけると幸いです。
9/10 17:10 追記:
オブジェクトが消えたというのはヒエラルキーから消えたということです。
試したこと
・スプライトレンダラーを最初と最後のフレームでオンにした
・トリガーではなくscriptからanimator.Playから呼び出すと瞬時に消えた
9/10 19:25 追記:
試したこと
・PlayerのOnTriggerEnter2Dは一回しか通っていない(HPが減ることによる消失ではない)
・アニメーションだけのオブジェクトを配置してみると消えなかった
・一行ずつデバッグしてみると、ここの9.1のDestroyArea(範囲外に出たオブジェクトをDestroyするためのエリア)のOnTriggerExit2Dを通っていたせいでオブジェクトが消えていました。
→ただなぜここにアニメーション遷移のときだけ入るのか不明。
現在調査中ですが、ピンとくるものがあればお教えいただきたいです。
補足情報(FW/ツールのバージョンなど)
unity 2018.2.5f1 personal
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/10 08:07
2018/09/10 09:33
2018/09/10 10:30