特定の角度で弾を飛ばすSTGなどで弾を特定の角度に飛ばすには、sin,cosの知識が不可欠です。(sin,cosの解説は別の章で行っています)高1で習う三角比ですが、忘れてしまった人は復習しておきましょう。なる」なんて習ったと思います。シューティングではこんな事覚えてもしょうがありません。゚だけ計算できてもしょうがないのです。このように、特定の角度θの時、xやyがいくらになるのか計算出来なくてはなりません。ここで、sin、cosってなんだったでしょうか。「斜辺÷対辺がsin」と習ったと思います。これはアルファベットの筆記体の書き順で覚えた人も多いかもしれません。今、左下を初期座標として、右上に向かって飛んでいる弾があったとしましょう。この弾はある角度θで飛んでいるわけですが、弾がθの方向に、rほど進んだ時、どこの座標に表示したらよいか?という場合に必要です。進むことがわかります。弾は1フレームにrの距離ずつ進むわけですが、よく考えたらこのrはスピードと同義です。1フレームに1ピクセルずつ進む弾より、10ピクセルずつ進む弾の方が速いですね。r;加算することで、座標が更新出来ます。これをプログラムで確認してみましょう。Zキーを押すと、座標を中央に戻し、角度や速さをランダムにセットします。Zキーをおしてみて下さい。生成した乱数の結果は左上に表示されます。弾は3つの画像を分割ロードしています。LoadDivGraph関数の仕様が分からない人はこちらで確認して下さい。弾01.png↑の弾を使っていますが、プログラム上の角度0は右であり、時計回りが正の方向です。