この質問は奇妙に聞こえるかもしれません。なぜなら、これがどのように可能になるのか本当に理解できないからです。Windows、Xbox、WP7、WP8で完全に正常に動作する、私の2Dゲーム用の衝突コードがいくつかあります。しかし、奇妙な理由で、ゲームを Windows 8 Metro アプリとして実行すると、まったく同じコードが機能しません。さらに奇妙なのは、Surface で同じプロジェクトを実行するとコードが機能するのに、PC で実行すると弾丸が敵をまっすぐに貫通することです。コードはどこで使用しても同じであり、実際に機能することを知っているため、コードを投稿しても役に立たないと思います。これがどのように可能であるかを誰かが知っている場合は、私に知らせてください。コードを投稿したい場合は、お知らせください。
コードが何をしているのかを少し説明します。
- プレイヤーのすべての弾丸をループします
- すべての敵をループします
- 長方形の衝突が発生した場合
- ピクセルごとの衝突が発生した場合
- 敵を倒し、弾丸を取り除くなど。
- ピクセルごとの衝突が発生した場合
- 長方形の衝突が発生した場合
- すべての敵をループします
このゲームは、Metro アプリとしてテストするために使用したのと同じ PC で、XNA ゲームとして正常に動作します。