(理由:関数名をなるべく省略したいからです。)
例としてDrawFormatString関数をprint関数に置き換えるように作ってみました。
/********** game.h **********/
#include "DxLib.h"
#include "dxLibFunction.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE); //set window mode
DxLib_Init(); // DXライブラリ初期化処理
SetDrawScreen(DX_SCREEN_BACK); //裏画面に設定
int x = 50;
while(1){
if(ProcessMessage() != 0){
break;
}
ClearDrawScreen();
x = 100;
print(0, 0, 0, "TEST%d", x);
ScreenFlip();
}
DxLib_End(); // DXライブラリ終了処理
return 0;
}
/********** dxLibFunction.h **********/
void print(int, int, int, char *, ...);
void print(int x, int y, int color, char *str, ...){
int Green = GetColor( 0, 255, 0 ); // 緑の色コードを取得
DrawFormatString( x, y, Green, str, x);
}
展望としては、可変長引数を2つ3つ増やしても対応できるようにしたいです。
[1] 質問文
[1.1] 自分が今行いたい事は何か
DXライブラリの関数をまねて自作関数として置き換えたい
[1.2] どのように取り組んだか(プログラムコードがある場合記載)
記載しました。
[1.3] どのようなエラーやトラブルで困っているか(エラーメッセージが解る場合は記載)
結果は「TEST0」となる。
[1.4] 今何がわからないのか、知りたいのか
自作可変長関数の作り方。
[2] 環境
[2.1] OS : Windows7 64bit
[2.2] コンパイラ名 : VC++ 2008EE
[3] その他
・どの程度C言語を理解しているか:基本情報レベル
・ライブラリを使っている場合は何を使っているか:DXライブラリ
ご享受ください。よろしくお願いします。