バーナーマンとの戦闘中、無に被弾するという謎の現象が発生しましたので、原因を考察してみます。
まず上のバーナーから炎が出たあと、1枚目のホッケーがバーナーを破壊しています。
バーナーから出た炎はバーナーの子オブジェクトとして存在しますが、親オブジェクトであるバーナーが破壊されたのでどこからも参照されなくされます。
その後2枚目のホッケーを投げているのですが、このホッケーが使用しているメモリ領域が、破壊されたバーナーが使っていたのと同じ領域を再利用するのです。それ自体に問題はありません。
ところで、ホッケーはオブジェクト生成時の初期化処理の一部をサボります。
初期化処理として子オブジェクトへの参照を無効化(0クリア)するべきなのですが、本来ホッケーは子オブジェクトを持たないので、別に初期化しなくても大丈夫だろう、という単純な見逃しでしょう。
結果としてホッケーの子オブジェクトとして炎への参照が復活してしまいます。火を吹くホッケーって何だよ(意味不明)
そこからはおそらくフォルテ即死バグに近い理由で、異常な攻撃判定が発生して全画面攻撃になるのではないかと思います。
この動画には 42 件のコメント
頻出ワード・盛り上がり区間・よくニコられたコメントなどを解析できます
読み込みに数秒かかります