トップページ > 過去ログ > 記事閲覧
メンバ変数にLoadGraphでエラー?
名前:ほげ 日時: 2011/01/03 04:10

Dxlibraryを使って所謂戦略ゲーを作ろうとしている者です。 以下のコードを書いてみたのですが、どうもchクラスのコンストラクタでエラーが発生してしまいます。 因みに、クラスを使わずにグローバル変数に画像ハンドルを格納することはできました。 ご指摘をお願いします。(VC++ Express 2010使用) --------Ch.h--------- #ifndef CH_H_ #define CH_H_ class ch{ public: ch(); //問題のコンストラクタ int ShowGrHnd();//画像ハンドル提示関数(今回は関係ないかと思います) private: int x,y; //キャラクタの座標 int GrHnd; //画像ハンドル }; #endif --------Ch.cpp------(chクラスの実装) #include "DxLib.h" #include "Ch.h" ch::ch(){ //問題のコンストラクタの実装 GrHnd=LoadGraph("pic/playerd.bmp");//パスは合ってます } int ch::ShowGrHnd(){//画像ハンドル提示関数 return GrHnd; } --------Object.h----(chクラスをインスタンス化します) #ifndef OBJECT_H_ #define OBJECT_H_ #include "Ch.h" ch ich; #endif --------Extern.h----(Object.hで作ったchクラスをエクスターンします) #ifndef EXTERN_H_ #define EXTERN_H_ #include "Object.h" extern ch ich; #endif

Page: 1 |

Re: メンバ変数にLoadGraphでエラー? ( No.1 )
名前:クラスクラス 日時:2011/01/03 08:12

単純にDXライブラリ初期化 DxLib_Init() 前に LoadGraph(); 呼ばれているだけでしょう。 グローバル変数にクラスのインスタンスを持った場合、そのコンストラクタはmein()関数が 起動される前に実行されます。 なので、DXライブラリ初期化 DxLib_Init() が実行された後に実行するようにしましょう。
Re: メンバ変数にLoadGraphでエラー? ( No.2 )
名前:ほげ 日時:2011/01/03 12:31

解決しました。 やさしく教えていただき、「クラスクラス」様には感謝しております。 ありがとうございました。
Re: メンバ変数にLoadGraphでエラー? ( No.3 )
名前:ほげ(解決済) 日時:2011/01/03 12:32

解決をご報告します。

Page: 1 |