サッカーゲームの作り方教えろ
今から少しずつ作ってみたいと思います。
[step-1] まずはグラウンドを描画してみます。 [step-1]グラウンドの芝生の描画テスト結果
ttp://www13.plala.or.jp/amagame/soccer/step1.png
基本的に緑色の地面を準備しただけですが、縞模様になるように描画しています。
次は、[step-2]グラウンドに白線を引いてみます。 [step-2]グラウンドに白線を引きました。
ttp://www13.plala.or.jp/amagame/soccer/step2.png
視点は3Dになっていますが、実質的には2次元(XY平面)での描画プログラムです。
次は、[step-3]ゴールの枠など立体構造物を準備しようと思います。 [step-3]立体物を追加しました。
ttp://www13.plala.or.jp/amagame/soccer/step3.png
データ構造の関係上、2Dの白線と3Dのゴールポストを別オブジェクトにしましたが、
プログラミング的には同じような作業になります。
次はいよいよ、[step-4]サッカーボールを登場させようと思います。 [step-4]サッカーボールの作成
ttp://www13.plala.or.jp/amagame/soccer/step4.png
正20面体をもとにしてボール形状を得ています。
サンプル画像はボールの柄を見やすくするため、フィールドサイズに対してかなり大きくなっています。
実寸に調整することも勿論簡単にできますが、見易さに配慮してこのままのサイズでゲームにするのも
悪くないような気もしています。
本日はここまでで終了です。 [step-5]サッカーボールの運動
ttp://www13.plala.or.jp/amagame/soccer/step5.png
空中では放物線運動、地面では転がり運動するようにプログラミングします。
物理シミュレーションの基本的課題ですが、これがうまく動くようになると、
プログラミングが面白くなってくると思います。 [step-6]ゴールとボールの接触判定
ttp://www13.plala.or.jp/amagame/soccer/step6.png
ボールがゴールの立体構造物にぶつかったら反射するような判定処理を作ります。
ボールを自在にコントロールできるうちは容易にテストできるので、この段階で
しつこく蹴りつけて納得いくまでデバッグしておくと良いと思います。 [step-7]ゴールとラインの通過判定
ttp://www13.plala.or.jp/amagame/soccer/step7.png
ボールがゴール内に入ったり、ラインを割ったかどうかを判定するようにしました。
判定後は一定時間操作を禁止し、所定の位置にボールをリセットします。
本日はここまでで終了です。