第3回 シューティングゲーム講座 シューティングしよう! ~弾を飛ばして当てましょう~ 弾を飛ばして当てましょう ● 今回やることは2つです 飛ばす弾と弾を当てる的を作る 飛ばした弾を的に当てる処理を作る まずは第2回の講座で出された最後の課題で作ったプロジェクトを用意して下さい そこにShot.cppとShot.hというファイルを作ってください、この2つのファイルに書き込んで 行きます 実行結果 ● 今回はソースコードを別紙で紹介しています 赤い弾をW、A、S、Dキーで操作し、青い的に触れると黄色 いメッセージが動きます。それ以外は変化なしです DrawString( 30,100,"○接触しています!!○",GetColor(255,255,0)); 関数の名前 ● 引数は4つです 関数の名前(X座標,Y座標,表示したい文字,色); 文字を表示する関数です4つ目の引数の数値を変えると 色が変わります。 DrawCircle(tama_x,tama_y,tama_r,GetColor(255, 0, 0),TRUE); 関数の名前 ● 引数は4つです 関数の名前(X座標,Y座標,半径,色); 円を描画する関数です GetColor(255, 0, 0); ● 色を指定するときによく出てきます 当たり判定 ● 今回はまず、2つの弾がどれくらい近づいたら当たった ことにするのか当たる範囲を決めます r=tama_r+teki_r; r*r ● 次に2つの弾の距離を求めます x=tama_x-teki_x; y=tama_y-teki_y; x*x+y*y ● 最後に2つの弾の距離が当たる範囲より小さいかどうか をIF文の条件式の中に入れる if(x*x+y*y<r*r){この中に書いた文が当たったときに実行されます} 最後に ● ● 今回は当たり判定を円の半径を使って求めました が、実際のゲームではそれだけだとうまくいかない 場合があります。 もちろん、他の方法もあるので自分で調べて試して みましょう。
© Copyright 2024 Paperzz