トップページ > 過去ログ > 記事閲覧
関数にまとめた画像が表示されない
名前:プログラム初心者 日時: 2010/03/21 14:31

プログラムを組みやすく、見直ししやすくするために いろいろな処理を関数にまとめたのですが、画像が表示されませんでした。 コンパイルはきちんとできました。 使用する画像はEXEファイルがあるところにimgフォルダを作り、その中に保存してあります。 #include<stdio.h> #include"DxLib.h" int img_back; //playerの構造体の定義 typedef struct character{ int x,y; int img; }chara; //構造体playerの宣言 chara player; //基本関数の宣言 void img_sound_load(){ player.img=LoadGraph("img/monster.png"); img_back=LoadGraph("img/back.bmp"); } void initialization(){ player.x=200; player.y=200; } void Drawback(){ DrawGraph(0 , 0 , img_back , FALSE); } void Drawplayer(){ DrawGraph(player.x , player.y , player.img , TRUE); } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // DXライブラリ初期化 if( DxLib_Init() == -1 ) return -1 ; //裏画面を使用する。 SetDrawScreen( DX_SCREEN_BACK ) ; void img_sound_load(); void initialization(); void Drawback(); void Drawplayer(); //裏画面を表画面に表示 ScreenFlip(); // キーの入力待ち WaitKey(); // DXライブラリ使用の終了 DxLib_End() ; // ソフトの終了 return 0 ; }

Page: 1 |

Re: 関数にまとめた画像が表示されない ( No.1 )
名前:いっち 日時:2010/03/21 14:54

VisualStudio上からプログラムの実行を行う場合、(特に指定をしなければ)カレントディレクトリはプロジェクトファイルの存在する場所になります。 実行ファイルを直接ダブルクリックなどで起動した場合、カレントディレクトリは実行ファイルの存在する場所になります。 "img"フォルダをプロジェクトファイルの存在する場所にもコピーしてみてください。 もしくは、実行ファイルを直接起動してみてください。
Re: 関数にまとめた画像が表示されない ( No.2 )
名前:プログラム初心者 日時:2010/03/21 16:49

EXEファイルがあるところと、プロジェクトファイルがあるところにimgフォルダを配置したのですが、表示されませんでした。 ソースも間違っていないと思うのですが・・・。
Re: 関数にまとめた画像が表示されない ( No.3 )
名前:木葉 日時:2010/03/21 17:17

ファイルパスですが、"img/monster.png"ではなく"./img/monster.png"にしてもダメですか?
Re: 関数にまとめた画像が表示されない ( No.4 )
名前:いっち 日時:2010/03/21 17:36

> void img_sound_load(); > > void initialization(); > > void Drawback(); > > void Drawplayer(); 関数をコールするときに型の指定は必要ありません。 ( No.1 )のレスでは、確認しておりませんでした。すみません。
Re: 関数にまとめた画像が表示されない ( No.5 )
名前:プログラム初心者 日時:2010/03/21 21:04

そうでした・・・。 メイン関数で使用するときにvoidを付けていたのがいけなかったようです。 voidを消したらきちんと表示されました。 ありがとうございました。 自分でもこんなミスは初めてです・・・。

Page: 1 |