第8講 ロールプレイングゲーム風のアクションゲーム
第3話 このゲーム開発の難所
このゲームプログラミングのむずかしいところは、
道路を上図のように建設することと、
我らがヒーローリオとハイエナと炎の動きを道路内に限定することです。
道路建設において、
今何本目の道路を建設しているのかを考えないと、
混乱してしまいます。
リオとハイエナの初期配置、竜と壁の配置も図を参考して行ってください。
そして、何よりもむずかしい点はリオとハイエナの動きを、
道路内に限定するためのif文の条件式です。
例えば、1本目の道路は横位置が40〜600で、
縦位置が40〜80で、
リオのサイズがおよそ縦30横23ですから、
リオの左端上端の横位置をhx、縦位置をhyとするなら、
if文の条件式は
40≦hx≦573 かつ 40≦hy≦50
です。
573は600からリオの横サイズ27を引いたものです。
また、50は道路下端80からリオの縦サイズ30を引いたものです。
ですから、
1本目における道路のif文の条件式は、
if (CheckHitKey(KEY_INPUT_RIGHT) != 0 && hx >= 40 && hx <= 569 && hy >= 40 && hy <= 50)〜
if (CheckHitKey(KEY_INPUT_LEFT) != 0 && hx >= 44 && hx <= 573 && hy >= 40 && hy <= 50)
〜
となります。
色のところがずれているのは、リオの速さを4に設定しているからです。
同様にして、2本目の条件を考えると、
計算上は、
560≦hx≦573 かつ 40≦hy≦390
のはずですが、実際にリオを動かしてみると、
少しずれます。
1つの道路やくぼちの建設ができるたびに、
デバッグをして実際にゲームを動かして、
微調整する必要があります。
今回も、メモ帳を活用してください。
それから、画像の出席番号を入れる整数型の箱=ハンドルについては、
画像を描いた後、
DeleteGraph(ryu);
(ryuは竜のハンドル)
によってハンドルを削除しないと、
ハンドル数の限界値を超えました・・・
と表示され、画像が全部消えてしまうことがわかりました。
画像を描いた後必ずDeleteGraph(ハンドル名);
によって削除しましょう。
以降のコピペ用添付ファイルなどに、
(私が、DeleteGraph(ハンドル名); を入れ忘れているケースも多々あると思いますので、
皆さんは気がつきましたときには、
ご自分で入れてください。
できれば、メールfmuf@hotmail.co.jpにて知らせていただければ幸いです。
本講義には、たくさんのタイピングミスがあります。
私のタイピングの腕が悪いためで皆さんにご迷惑をおかけして申し訳ありません。
タイピングミスにつきましても、ご指摘いただけるとうれしい限りです。)
ハイエナだけは3匹いますので、
3匹全部描いてから削除しましょう。
第2話へ 第4話へ
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための]世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップ