ページ 11

画像を表示するプログラム組んでも画像がでません

Posted: 2009年2月11日(水) 17:34
by kerotan0820
ゲームプログラミングの館」(http://dixq.net/g/)を参考に、ゲームを作ろうとしているのですが、
画像を表示するという初歩的なプログラムをデバックしたのですがウィンドウが表示されるだけでなぜか画像が表示されません。
ちなみにその説明が書かれてるページはここです(http://dixq.net/g/#1
1で画像を保存するのですが、一応指定されてる場所に保存し、ファイル名、形式も同じことであるのを確認はしました。
2のウィンドウを表示させるは成功したのでおそらく画像の保存の問題だと思うのですが・・・
最初に画面の中心に点を打つという簡単なプログラムを試したらそれは成功しました。
サイトに書かれてますが、一応その画像を表示するプログラムはこれです。
#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了


LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ;


WaitKey() ; // 結果を見るためにキー待ち(『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
こぴぺなのでミスは無いと思います。

サイトにちゃんと表示できなかった方はこちらを試しくださいみたいな記述がありリンク先にいってみると、ちょっと違うソースが書かれていたので、それも試したのですが駄目でした・・・
解決方法分かる方居ましたら教えてくださると幸いです;;
お願いします。

Re:画像を表示するプログラム組んでも画像がでません

Posted: 2009年2月11日(水) 18:12
by kazuoni
↑のコードがmain.cppという名前のファイルだとしたら、
main.cppが保存されているところと
同じ場所に画像が保存されていますか?

Re:画像を表示するプログラム組んでも画像がでません

Posted: 2009年2月11日(水) 20:23
by Dixq (管理人)
>サイトにちゃんと表示できなかった方はこちらを試しくださいみたいな記述がありリンク先にいってみると、ちょっと違うソースが書かれていたので、それも試したのですが駄目でした・・・

ということは、ファイルの保存場所かファイル名が違うと表示されたということでしょうか?
コンパイラは何を使っていますか?
もしBorlandの場合はDebugフォルダに入れる必要があります。
また、もし自分でプロジェクトを作った場合、「ソリューションのディレクトリを作成する」にチェックを入れて作った可能性があるので、
プロジェクトのあるフォルダに更にプロジェクトと同じフォルダが無いか調べてみて下さい。

Re:画像を表示するプログラム組んでも画像がでません

Posted: 2009年2月11日(水) 22:06
by kerotan0820
たくさんの回答ありがとうございます。

参考にしてチャレンジしてみます。

Re:回答者様からの質問に対する回答

Posted: 2009年2月12日(木) 22:40
by kerotan0820
【kazuoniさん】
↑のコードがmain.cppという名前のファイルだとしたら、
main.cppが保存されているところと
同じ場所に画像が保存されていますか?
>コードの名前ってなんでしょうか・・・
ソースファイルの名前ですか?
画像の保存場所はサイトにある指定の場所に保存しただけで、そのフォルダはデスクトップ上にあります。


【Dixqさん】

ということは、ファイルの保存場所かファイル名が違うと表示されたということでしょうか?
>その通りです

コンパイラは何を使っていますか?
>Borlandでは無いと思います。
コンパイラとかそういうの詳しく無いんですよ・・・
昔はBorland使ってましたが今はたぶん違います。。。
サイトにのってる通りにダウンロードして進めて行ったので、あまり理解できてないのです・・・
今見たところ、VisualC++2008らしいです。

あともし設定を間違えていたなら設定は一からやり直しですか?・・・;

Re:回答者様からの質問に対する回答

Posted: 2009年2月12日(木) 23:38
by Dixq (管理人)
VC++2008なら設定らしい設定は何もいりません。インストールするだけで使えます。
プロジェクト作ったらいいだけです。
しかもプロジェクトはDXライブラリをダウンロードした時についてくる
サンプル実行用フォルダのものを使い回せば自分で作る必要ありません。

ところで、フォルダ内にプロジェクトと同じ名前のフォルダとかありませんか?

Re:回答者様からの質問に対する回答

Posted: 2009年2月13日(金) 04:08
by kerotan0820
フォルダ内にプロジェクトと同じフォルダはないみたいです・・・

デスクトップ上にこうなってます

【DxLib_VC】┓
     【Help(フォルダ)】
     【Tool(フォルダ)】
【サンプルプログラム実行用フォルダ(フォルダ)】
     【プロジェクトに追加すべきファイル_VC用(フォルダ)】
     【DxLib(txt.)】
こうなっていて、このサンプルプログラム実行用フォルダにしまったんです。
あとこのサンプルプログラム実行用フォルダないには画像しかありません。。。     

Re:回答者様からの質問に対する回答

Posted: 2009年2月13日(金) 04:16
by Dixq (管理人)
>このサンプルプログラム実行用フォルダないには画像しかありません。。。   

いや、それはおかしいです。
解凍エラーか何かじゃないでしょうか。
もう一度解凍して下さい。
プロジェクトファイルや、画像、音楽、ライブラリ、ソースコード・・沢山色んなファイルがあるはずです。

Re:回答者様からの質問に対する回答

Posted: 2009年2月13日(金) 07:45
by kerotan0820
すみません、ほかにもいろいろ入ってました。

Re:回答者様からの質問に対する回答

Posted: 2009年2月13日(金) 08:41
by Dixq (管理人)
う~ん、このままじゃよくわからないやり取りが続きそうです。
そのプロジェクトがあるフォルダを圧縮して私のほうに送ってもらえないでしょうか?
画像の保存場所がどうおかしいかこちらで確認してみます。
dixqhp@gmail.com

Re:回答者様からの質問に対する回答

Posted: 2009年2月13日(金) 16:24
by kerotan0820
わざわざありがとうございます。

zipフォルダ送りますのでよろしくお願いします。

無題

Posted: 2009年2月14日(土) 00:22
by でーき
私もなりました。
いろいろ試してみると、はじめから同封されていたファイルは表示できるのに、
他の画像ファイルを同じフォルダにおいても動きません。

パーミッションかな・・・・?
でも調べたけど問題なかったんですよねー・・・

Re:無題

Posted: 2009年2月15日(日) 04:51
by Dixq (管理人)
メール送りました?届いていないようなので・・。
送り先こちらです→dixqhp@gmail.com

Re:無題

Posted: 2009年2月15日(日) 05:13
by kerotan0820
今再び送りなおすのを試みたのですが送信エラーが起きてしまいます。。。

なんどやっても同じなので僕のあぷろだにうpしておきますのでお願いします・・・

http://www7.uploader.jp/dl/kerotan/kero ... 1.zip.html

PW=kerotan

Re:無題

Posted: 2009年2月15日(日) 10:20
by kazuoni
我が家ではうまく行きました。
恐らく、設定の段階でミスっている可能性が高いかと・・・
本家HP↓の設定段階
http://homepage2.nifty.com/natupaji/DxL ... press.html

Re:無題

Posted: 2009年2月15日(日) 14:15
by Justy
#kerotan0820さん

>LoadGraphScreen

 この関数は、読み込むファイルの場所が正しくても
環境によって表示されたりされなかったりと、鬼門だったりします。

 少し飛びますが「13c. ソースを短く書く(その2)」
ttp://dixq.net/g/#37
のコードだとどうなりますか?

Re:無題

Posted: 2009年2月15日(日) 15:41
by kazuoni
そうなんですか。。
LoadGraphScreenは環境に大きく作用されるのですか^^;
これは大変失礼しました。。
LoadGraph→DrawGraphより使う機会は少ないと思いますが・・・
これは知りませんでした。

Re:無題

Posted: 2009年2月15日(日) 16:06
by Dixq (管理人)
そんなことがあるのですか・・。
環境によって不具合が起きる可能性のある関数リストみたいなの欲しいですね;
う~ん、Justyさんよくご存知ですね~・・。
特にDXライブラリをお使いになってないのにそこまでどうやったらお詳しくなれるんでしょう^^;
じゃぁ、サンプルは全てDrawGraphにした方がいいですかね?

Re:無題

Posted: 2009年2月15日(日) 18:42
by kerotan0820
【Justyさん】
そうなんですか!?w じゃぁ僕は無理なことをがんばっていたのですね・・・(泣

そのコードで試してみますね。

Re:無題

Posted: 2009年2月15日(日) 19:04
by Justy

>LoadGraphScreenは環境に大きく作用されるのですか^^;

 それほど大きな確率ではないと思いますが。
 あと、同じような現象が Vistaだと云々とか聞いたことがあります。



>そんなことがあるのですか・・

 前にも似たような話があったような。

C言語何でも質問掲示板
ttp://www.play21.jp/board/formz.cgi?action=res&resno=23789&page=&lognum=74&id=dixq&rln=23837



>環境によって不具合が起きる可能性のある関数リストみたいなの欲しいですね

 うーん、基本的に DirectXなどの描画って環境次第なところが大きいので、
もし本格的に挙げていくとほとんど全部ということになりかねなかったり・・・。

Re:無題

Posted: 2009年2月15日(日) 20:07
by Dixq (管理人)
あ~この不具合はそのせいで起きていたのですか・・。

>DirectXなどの描画って環境次第なところが大きいので、
>もし本格的に挙げていくとほとんど全部ということになりかねなかったり・・・。

困ったものですね^^;

Re:Justyさん

Posted: 2009年2月15日(日) 21:04
by kerotan0820
やってみたところ、黒い画面のウィンドウが開きました。

Re:

Posted: 2009年2月15日(日) 21:22
by Dixq (管理人)
開いてどうなりました?
画像は表示されたのでしょうか?

Re:

Posted: 2009年2月16日(月) 04:44
by kerotan0820
いえ、画像はでてませんよ?

黒いウィンドウだけでしたよ

Re:

Posted: 2009年2月16日(月) 20:39
by Justy

>いえ、画像はでてませんよ?
>黒いウィンドウだけでしたよ

 となると、画像を置いた場所がおかしいか、環境的に表示することができないの
どちらかである可能性が高いです。

 では、プログラムをビルドした後、どうやって実行していますか?
 VisualStudioから実行しているのか、それとも出来上がった exeをクリックして
実行しているのかどちらでしょう?
(もしかして後者だったりします?)

 又、先の「13c. ソースを短く書く(その2)」 ttp://dixq.net/g/#37の
コードで、変数imageの値は何になっていますか?

Re:

Posted: 2009年2月17日(火) 02:37
by kerotan0820
VisualStudioじゃなくてVisualC++ですが、そちらから実行しています。
デバックってのをやりました。

Re:

Posted: 2009年2月18日(水) 00:51
by Justy
 なるほど。
 となると、あとは変数imageの値ですが、それと実行した際の Log.txtがあれば見せてもらえますか?

Re:

Posted: 2009年2月18日(水) 08:06
by kerotan0820
txtが長くて記載できないので、あぷろだにうpしておきます。
http://www7.uploader.jp/dl/kerotan/kero ... 2.txt.html

PW=txt

Re:

Posted: 2009年2月18日(水) 09:11
by toyo
[url]#28799[/url]にあるファイル見てみましたがファイル名が
char.png.png
になってました
拡張子を表示しない設定になっているところに拡張子を自分で追加したのでしょう
画像ファイル名を
char
のみにすると表示されると思います。

(なぜマイクロソフトは大事な拡張子を表示しないのでしょうか)

Re:

Posted: 2009年2月18日(水) 14:11
by kerotan0820
【toyo様】
僕は実際最初は、charだけで試したんです・・・
ですが、失敗したため、.pngを追加しないといけないのかと勘違いし、そのままでありました。
今現在.pngをなくし試してみましたが、できませんでした・・・;

Re:

Posted: 2009年2月19日(木) 03:56
by Dixq (管理人)
アップローダに同梱されていたプロジェクトのうち試したのはどのプロジェクトですか?
char.pngが表示されるようなソースは無かったように思いますが・・。

Re:

Posted: 2009年2月19日(木) 07:48
by toyo
アップローダにあったのはtest.cppで表示するのはtest1.bmpですね
logに
グラフィックファイル char.png がありません
って出てるのはなぜ

Re:

Posted: 2009年2月19日(木) 10:41
by kerotan0820
【Dixq(管理人)さん】
え・・・;; 同梱って何ですか?・・・;;;

僕まさか関係ないソースとかやってたのでしょうか・・・;;;

なんか話が難しくて理解できなくなってきたので僕がやったことをまとめますね・・・;;

①画像を表示するの単元にてchar.pngを指定の場所に保存し、以下のソースをこぴぺしてデバックしました。
#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了


LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ;


WaitKey() ; // 結果を見るためにキー待ち(『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}

結果画像は表示されなかったため char.png にしたり char だけで保存したりと僕にミスがあるのかと思いいろいろ試しましたがあっけなく失敗しました。

②画像を表示するの欄に失敗する人はこちらみたいなのがあり、そこにて以下のソースを試しました。
#include "DxLib.h"
char st1[/url]="画像の保存場所が違うか、ファイル名が違うため、表示できません。";
char st2[/url]="正常に認識されています。";

int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 ) return -1;


if(LoadGraphScreen( 0 , 0 , "char.PNG" , TRUE ) == -1)
DrawString(50,220,st1,GetColor(255,255,255));
else
DrawString(50,220,st2,GetColor(255,255,255));


WaitKey() ;
DxLib_End() ;
return 0 ;
}

これも失敗し・・・;;  そして今ログを見せてくれないかというコメントを頂、ログをお教え指していただきました。
僕がアップローダーにうpしてるのは、ログと、画像が保存されてるフォルダです。

Re:

Posted: 2009年2月19日(木) 11:29
by Mist
2番目を実行したときに画面に「画像の保存場所が違うか、ファイル名が違うため、表示できません。」と表示されましたか?
それすらないというのであれば、No:28830でJustyさんが指摘している通りkerotan0820さんのPCではそれらのプログラムは正常に動作しないと思います。(OSはVistaですか?)

Re:

Posted: 2009年2月19日(木) 13:26
by Dixq (管理人)
う~ん、ちょっとよくわからないので、こちらでアップしました。

http://dixq.net/zip/DxLib.zip

解凍して出てきたフォルダのDxLib.slnをお開き下さい。
そして、そのまま実行して下さい。
画像が左から右に移動して表示されると思います。
(13章のプログラムソースが書いてあります。)

Re::

Posted: 2009年2月20日(金) 22:18
by kerotan0820
【Mist様】
2番目を実行したときは画面に「画像の保存場所が違うか、ファイル名が違うため、表示できません。」と表示されました。
 OSはXPです。

【Dixq(管理人)様】
やてみます。

Re::

Posted: 2009年2月22日(日) 20:35
by kerotan0820
【Dixq様】
画像がでてきて右に動きました。 というかこの投稿なんどもしてるのですがなぜか投稿できないですw
その場では投稿されてるのになぁ・・・

今後僕はどういった作業をすればいいのでしょうか

Re::

Posted: 2009年2月22日(日) 21:10
by コスモ
cosmoです。
kerotan0820さん初めまして。
このスレをハラハラしながら見ていました。

>今後僕はどういった作業をすればいいのでしょうか

これはやりたい事によって違うと思います。
画像を左から右に移動して表示されるプログラムは成功されたんですよね?
ならば、そのプログラムをいじってみて挙動が変わるのを確かめる…とか、
次の章に進む…なんかが考えられますが。

プログラムの上達の鍵は試行錯誤ですよ。
まあ、人のことを言える立場ではありませんが…(汗

Re::

Posted: 2009年2月22日(日) 21:43
by Dixq (管理人)
正常に表示できたのでしたら自分のやりたい処理を勉強していけばいいと思いますよ。
まず何がやりたいのでしょう?
自分がやりたい事が出来るようになるように興味ある事を実装していけばいいのではないでしょうか。

何をしたらいいのかわからない場合はとりあえずゲームの館を13章からずっと実行して確認してみてはどうでしょう。

Re::

Posted: 2009年2月22日(日) 23:35
by kerotan0820
分かりました^^

ありがとうございます。

今後ともよろしくお願いします。