トップページ > 過去ログ > 記事閲覧
特定の画像だけが表示されません
名前:虹風 虹奈 日時: 2008/08/09 18:23

初めまして、虹風 虹奈と申します。 「14歳からはじめる C言語 わくわくゲームプログラミング」 を用いて、STGを作成しているのですが、 自キャラの弾が表示されなくなってしまいました。 プログラムを打った日には、ちゃんと表示されていたのですが、 次の日もう一度実行してみると表示されなくなってしまいました。 弾の画像を自キャラの画像など、他の画像に差し替えてみたところ、 ちゃんと表示させることができました。 ですが、弾の画像だけは表示されません。 ファイル名は間違っていません。 もう一度その画像を保存しなおしたり、 ファイル名を変えたりしてみましたが、変化はありませんでした。 ソースコードは、 #include "DxLib.h" //構造体の宣言 struct CharaData{ //左上座標 int x; int y; //画像ハンドル int ghandle; //ライフ int life; }; //プロトタイプ宣言 void JitamaMove(); //グローバル変数 struct CharaData jikidata; struct CharaData jitama[3]; int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC) { ChangeWindowMode(TRUE); //ウィンドウモードで起動 if(DxLib_Init() == -1) return(-1); //DXライブラリ初期化 //透過色を指定 SetTransColor(126, 102, 144); //自キャラ画像の読み込み jikidata.ghandle = LoadGraph(".\\img\\dot_hiu-001.png"); jikidata.x=0; jikidata.y=0; //透過色を指定 SetTransColor(126, 102, 144); //自弾画像の読み込み int g = LoadGraph(".\\img\\shot_hiu-2-01.png"); for(int i=0; i<3; i=i+1) jitama[i].ghandle = g; //キー入力チェック・プロセスメッセージ while(ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0){ //消去 ClsDrawScreen(); //色箱 DrawBox(270,190,370,290, GetColor(255,0,0), TRUE); //自キャラ移動 int key = GetJoypadInputState(DX_INPUT_KEY_PAD1); if(key & PAD_INPUT_UP) jikidata.y=jikidata.y-4; if(key & PAD_INPUT_DOWN) jikidata.y=jikidata.y+4; if(key & PAD_INPUT_LEFT) jikidata.x=jikidata.x-4; if(key & PAD_INPUT_RIGHT) jikidata.x=jikidata.x+4; //画像表示 DrawGraph(jikidata.x, jikidata.y, jikidata.ghandle, TRUE); JitamaMove(); //ちらつき防止 ScreenFlip(); } DxLib_End(); //DXライブラリ初期化 return(0); //終了 } //自弾 void JitamaMove(){ //弾の発射 int key = GetJoypadInputState(DX_INPUT_KEY_PAD1); if( key & PAD_INPUT_A ){ for(int i=0; i<3; i=i+1){ if( jitama[i].life == 0){ jitama[i].life = 1; jitama[i].x = jikidata.x+120; jitama[i].y = jikidata.y+40; break; } } } //弾の移動 for(int i=0; i<3; i=i+1){ if( jitama[i].life > 0 ){ jitama[i].x = jitama[i].x + 10; DrawGraph( jitama[i].x, jitama[i].y, jitama[i].ghandle, TRUE); //画面外に出たときの処理 if( jitama[i].x > 640 ) jitama[i].life = 0; } } } です。 原因の分かる方が居ましたら、どうかご教授お願いします。

Page: 1 |

Re: 特定の画像だけが表示されません ( No.1 )
名前:オリンピック野郎 日時:2008/08/09 18:35

案外凡ミスかもよ。保存場所がちがかったりしてw そんなわけ無いかw 見た感じ間違いがあるようには見えないんだけどな・・・ あくまでうちから見た感じね。 役に立てなくてごめん
Re: 特定の画像だけが表示されません ( No.2 )
名前:虹風 虹奈 日時:2008/08/09 19:41

>オリンピック野郎さん 返信ありがとうございます。 保存場所は合っていました。 打ったその日にはちゃんと表示されていたので、 凡ミス、ということは無いかと思います。 画像自体に問題があるかもしれないので、 画像をアップロードしました。 ttp://rainbowc.biz/img/shot_hiu-2-01.png (頭にhを付けてください) 引き続き、原因の分かる方が居ましたら、ご教授お願いします。
Re: 特定の画像だけが表示されません ( No.3 )
名前:キーチック 日時:2008/08/09 23:55

その画像をIE7で見ようとしたら,Quick Time形式と判断されてしまいました. (画像自体は見えましたが…) 他のサイトでPNG形式の画像は普通に表示されますので,拡張子をpngにしただけの, 別形式ファイルになっているのではないかとおもいます. 別の画像だときっちり表示されるのであれば,もう一度同じデザインで 画像を作りなおすのが一番簡単なのではないかと思いますが…
Re: 特定の画像だけが表示されません ( No.4 )
名前:虹風 虹奈 日時:2008/08/10 08:37

>キーチックさん 返信ありがとうございます。 もう一度画像を作り直してみたところ、 ちゃんと表示されるようになりました。 やはり、画像自体に問題があったのですね。 皆さん、回答ありがとうございました。 また何かありましたら、お願いします。
Re: 特定の画像だけが表示されません ( No.5 )
名前:虹風 虹奈 日時:2008/08/10 19:07

申し訳ありません、またも同じ現象が起きてしまったので再び利用させて頂きます。 再起動して実行してみたところ、 先程作り直した画像がまたも表示されなくなってしまいました。 どうも再起動する度にこの現象が起こるようです。 何故か、弾の画像だけこうなってしまいます。 そのゲームのファイルを全てアップロードしました。 ttp://rainbowc.biz/game.zip (頭にtを付けてください) 原因の分かる方が居ましたら、どうかご教授お願いします。 ※昨日アップロードしたファイルは、削除させて頂きました。
Re: 特定の画像だけが表示されません ( No.6 )
名前:キーチック 日時:2008/08/10 20:44

ダウンロードしてmain.exeを実行してみましたが,問題なく動作したようでした. その後,終了してからmain.exeを再起動しましたが,問題なし. PC自体を再起動してmain.exeを実行してみましたが,問題なく動作しました. これらのことから,再起動のたびにファイルがおかしくなるのは, 私の環境では再現されず,虹風 虹奈さんのハードウェアに依存する 問題なのではないかと思います.
Re: 特定の画像だけが表示されません ( No.7 )
名前:虹風 虹奈 日時:2008/08/14 17:02

返信が遅れてしまい、申し訳無いです。 >キーチックさん 検証、ありがとうございました。 原因は、 DirectXのバージョンが低かったからだと思います。 お騒がせしてすみませんでした、 またの機会がありましたら、宜しくお願いします。

Page: 1 |