【 PCゲーム制作入門 魔法のC言語偏 No.09 】

新魔法(独自関数)に引数を追加しよう

更に簡略化してみましょう。
現在は、「口の描画」だけ外に出てますので、これも先ほど作った関数内に入れようと思います。

DXライブラリのDrawBox等には引数を設定できますよね。
新魔法にも引数を設定できるようにし、口を動かせるようにしてみましょう。

ヒントはこちら↓
#include "DxLib.h" // テスト関数 void Test(int x) { DrawCircle(x, 240, 100, GetColor(20, 10, 0), TRUE); } // メイン関数 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { Test(10); // テスト関数を実行 WaitKey(); Test(100); // テスト関数を実行 WaitKey(); Test(200); // テスト関数を実行 WaitKey(); return 0; }

これは、Testという新魔法に、引数を1つ設定し、値を変えながら実行しています。

この例を見て理解できた方は、自身のプログラムを改良し、引数でアニメーションさせられるようにしてみてください。
(沢山アニメーションさせてる方は、1つのパーツを対応させるだけでもOKです)

イマイチよくわからない場合は、この例をコピー&ペーストし、実際に実行して確認してみてください。

最終的に、↓のように簡略化できればOKです。
// 一枚目の絵 Kao(0); // 顔を描画。口(閉じてる) WaitKey(); // 何か押すまで停止 // 二枚目の絵 ClearDrawScreen(); // 画面クリア Kao(30); // 顔を描画。口(開ける) WaitKey(); // 何か押すまで停止 // 二枚目の絵 ClearDrawScreen(); // 画面クリア Kao(0); // 顔を描画。口(閉じてる) WaitKey(); // 何か押すまで停止

因みに、ClearDrawScreen()やWaitKey()も、Kao()関数の中に入れてしまえば更に簡略化できますが、
一つの関数に詰め込み過ぎると、逆に使い難くなったりますので、今回の場合は、顔絵を描画するだけにしましょう。

尚、引数を増やしたい場合は↓な感じですね。
// テスト関数 void Test(int x,int y) { DrawCircle(x, y, 100, GetColor(20, 10, 0), TRUE); }

引数を ,(カンマ)で区切っていけば、何個でも引数を増やすことができます。

関数と引数の作り方を理解できたら次に進んでください。

もし、まだスッキリしない場合は、自分なりに関数を作り、いろいろ試してみましょう。
絶対に中途半端な理解で先に進まないでください。
その方が、最終的には近道になります。

次のページへ



[ StudioGIW TOPページ ]