ゲームプログラミングの館より

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Julian

ゲームプログラミングの館より

#1

投稿記事 by Julian » 16年前

はじめまして、Julianと申します。
本日より本サイトの『C言語~ゲームプログラミングの館~』を参考にゲームプログラムを始めようと思ったのですが、
『0. (導入)DXライブラリを手に入れる。(全てはココから)』の段階で行き詰ってしまい、質問させて頂きたく思います。

// 環境 //
OS:WindowsXP Professional SP3
コンパイラ:VC++ 2008EE

// 質問 //
VC++ 2008EEを導入し、DXライブラリをダウンロード後『DXライブラリの設定』通り設定をして『DxLib.sln』をビルドしました。
(DXライブラリVer2.25の為『DxLib_VC2008_and_2005用.sln』を起動)
しかし、HPどおり全画面で人物が表示されず

『プログラム '(ディレクトリ名)\DxLib_VC2005用.exe'を開始できません』
『指定されたファイルが見つかりません。』

とエラーが出てしまいます。
その後『DXライブラリの設定』を読み返し、再度設定をしても変わる事なくエラーが出ます。

もし宜しければお力添え頂けないでしょうか。

Dixq (管理人)

Re:ゲームプログラミングの館より

#2

投稿記事 by Dixq (管理人) » 16年前

サンプル実行用フォルダの中身は全く変更を加えていないのですね?
DxLib_VC2008_and_2005用.slnを起動し、実行しただけですか?
DXライブラリをコンパイルするための設定が出来ていればそのままコンパイルして実行できるはずです。

もしかしたら解凍ミスか何かの可能性もあるかもしれません。
もう一度新しくDXライブラリをダウンロード後、解凍し、サンプル実行用フォルダにある.slnファイルを開き、
Ctrl+F5を押してそのまま実行してみて下さい。

それでもうまく行かない時は、「プロジェクトに追加すべきファイル_VC用」に入っている全てのファイルを全選択してプロジェクトの「ソリューションエクスプローラー」にドロップしてみて下さい。
それでもうまく行かない時は、エラーメッセージを全てこちらに掲載して下さい。

Julian

Re:ゲームプログラミングの館より

#3

投稿記事 by Julian » 16年前

管理人様、お早いお返事ありがとうございます。

先の件ですが、ご指摘通り解凍ミスを考慮し、
再度ダウンロード後Ctrl+F5で実行してみたところ、無事実行する事ができました。

ただ、全画面表示になった際に、画面全体が黒く表示されるだけで何も表示されません。
『サンプルプログラム実行用フォルダ』内はまったく触っておらず、
『LoadGraphScreen( 0 , 0 , "test1.bmp" , TRUE ) ;』の通り
『test1.bmp』も同ファイル内に保存されていました。

宜しければ、もう暫くお付き合いお願い致します。

// VGA環境 //
モニタ:acer AL1511
VGA:Radeon4870

Dixq (管理人)

Re:ゲームプログラミングの館より

#4

投稿記事 by Dixq (管理人) » 16年前

う~ん、困りましたね。それで表示されないはずはないのですが・・。
ビデオカードのドライバの問題もあるかもしれませんが、
とりあえずまずゲームプログラミングの館の3章まで進めてもらえませんか?
3章に「ちゃんと表示できなかった人はこちらで、問題を解消してください。」という記述とリンクが
ありますのでそこまで進めて何も表示されなかったらこちらのリンク先のプログラムを実行してみて下さい。
文字だけはちゃんと表示されるでしょうか。

また、それでもうまく表示されない場合、13章のプログラムを実行するとどうなるかも教えて下さい。

Julian

Re:ゲームプログラミングの館より

#5

投稿記事 by Julian » 16年前

こんばんは、管理人様。

返信して頂いた内容通り『3. 画像を表示する。』まで進めてみた所
フルスクリーンでは移らなかった0章導入のキャラクターをウィンドウにて表示出来、
またウィンドウ表示で『char.png』のキャラクターが3章の『実行結果』のように表示されました。
(背景は黒でした)

念の為『ちゃんと表示できなかった人は <こちら> で、問題を解消してください。』のリンクを試してみた所、
これも問題なく表示することが出来ました。

13章においても『char.png』のキャラクターを左から右へ動くことを確認致しました。

恐らくフルスクリーン時のみ移らないようなので、
ビデオカードのドライバも最新のものに更新してみましたが、
キャラクターは表示されず、全体が黒の画面のままでした。

ただ、ウィンドウモードでは起動することが確認できましたので、
暫くはこれでプログラムをさせて頂きたいと思います。
この度は貴重な時間を割いての返信ありがとうございました。
それでは、失礼致します。

Dixq (管理人)

Re:ゲームプログラミングの館より

#6

投稿記事 by Dixq (管理人) » 16年前

13章のプログラムで

ChangeWindowMode( TRUE ) ; // ウィンドウモードに変更

これをコメントアウトにするとフルスクリーンになりますが、そうするとどうなりますか?

Julian

Re:ゲームプログラミングの館より

#7

投稿記事 by Julian » 16年前

13章のプログラムで『ChangeWindowMode( TRUE ) ; // ウィンドウモードに変更 』をコメントアウトすると
フルスクリーンで『char.png』が左から右へ移動しました。
同じプログラムを用いて表示画像を『test1.bmp』に変更した場合も左から右へ移動します。

フルスクリーンで『移動』を確認しましたので、
『0.導入』の静止画像(test1.bmp)はどうかと試してみましたが、動きませんでした。
そこで下記のように13章のプログラムから一部拝借したところ、
『test1.bmp』がフルスクリーン静止画像にて表示されました。
『//追加』の一行下が追加部分です。

// 以下プログラム //

#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
// ChangeWindowMode( TRUE ) ;//ウィンドウモードに変更する関数

if( DxLib_Init() == -1 ) return -1;//初期化処理する関数

    //追加
SetDrawScreen( DX_SCREEN_BACK ) ; // 描画先を裏画面に設定

    //追加
ClearDrawScreen();

LoadGraphScreen( 0 , 0 , "test1.bmp" , TRUE ) ;//画像を表示する関数

    //追加
ScreenFlip() ;

WaitKey() ;//何か入力があるまで待つ関数
DxLib_End() ;//終了処理をする関数
return 0 ;
}

Dixq (管理人)

Re:ゲームプログラミングの館より

#8

投稿記事 by Dixq (管理人) » 16年前

13章のプログラムが動けば問題ないです。
というのも、13章までは単なる入門用のプログラムなので、実際にゲーム制作などでは使わないプログラムなのです。
特に13章の直前のプログラムは、何故13章のようなプログラムをかかないといけないかという説明で、
悪いプログラムの書き方の紹介のようなものなので、問題ありません。

過去に13章以前のプログラムは動かないけど、13章からは動くという報告がありました。
もし気になれば本家の掲示板で聞いていただいたらいいかもしれません。
気にならない場合は、13章のプログラムを使ってもらったら大丈夫だと思います。

なお、プログラムコードはプレタグを使ってもらえると読みやすくなります。
(詳しくは規約をご覧下さい)

Julian

Re:ゲームプログラミングの館より

#9

投稿記事 by Julian » 16年前

管理人様

最後までお付き合い頂き誠にありがとうございます。
13章と13章以前のプログラムにつきましては、これから勉強してまずは自分で考えてみようと思います。

プログラムコードをプレタグを使用せず記載してしまった事は申し訳ありませんでした。
今後記載するにあたり必ずプレタグを使用させて頂きます。

これからも本サイトにてお世話になることがあると思いますが、
その際には宜しければご教授頂ければ幸いです。

それでは、失礼します。

閉鎖

“C言語何でも質問掲示板” へ戻る