こんばんは、初めて利用させて頂きます。私は今C++とDXライブラリでゲームを作っている者です。OSはXP,コンパイラはBorland C++ 5.5.1 、エディタはBCC Developerを使っております。プログラミングは中級くらいだと思いますが、よく聞く「マニュアル」というものが何なのかわかっていないレベルです。
今まではある程度順調に進めてきたのですが、あるとき突然にエラーに悩まされるようになりまして・・・。様々な所にprintfDxを入れてエラー発生場所を探したんですが、今までは元気に働いてくれていたはずのScreenFlipの箇所を実行した時にエラーが起こっているようでした。ScreenFlipの前のprintfDxは正常に動き文字が表示されるのですが、後のprintfDxが動く前にエラーが発生してプログラムが止まります。
このエラーはScreenFlipのたびに毎回起こるわけではなく、他の部分で何かした後、ScreenFlipに差し掛かると発生するようです。約1800行のコードのうちどこがキッカケなのか全くわからないので、具体的なコードを貼ることができず申し訳ありません。
一応説明しますと、的を狙い打つプログラムを作っております。近くの的を撃っても全く問題ないのですが、ある遠くの的を撃つと次のScreenFlipに差し掛かったときに実行が止まってしまいます。
ScreenFlipが悪いのでしょうか。それともScreenFlipで処理が止まるのは実質的な問題ではなく他の場所が問題なのでしょうか。どうか助けて頂きたいと思います。
ScreenFlipでエラー
Re:ScreenFlipでエラー
たぶん他の箇所に問題があると思います。
ScreenFlip()に問題があるならば、次のプログラムでエラーが出るはずです。
ScreenFlip()に問題があるならば、次のプログラムでエラーが出るはずです。
#include"DxLib.h" int WINAPI WinMain(HINSTANCE,HINSTANCe,PSTR,int) { int i=0; if(DxLib_Nnit()==-1)return -1; while(ProcessMessage()!=-1&&CheckHitKey(KEY_INPUT_ESCAPE)==0){ printfDx("%d",i) ScreenFlip(); clsDx(); i++; } DxLib_End(); return 0; }コンパイルエラーは出ないと思います。
Re:ScreenFlipでエラー
tkmakwins15さん、こんなにまで早くご返答頂き誠にありがとうございます!感謝の言葉もございません!
書いて頂いたコードを実際に貼り付けてビルドしてみたのですが、「エラー E2303 c:\newmyc\game\game.cpp 1803: 型名が必要」とのエラーが出ました。
私のプログラムのエラーと何か関係があるのでしょうか?重ねて質問してしまい誠に申し訳ございません。
書いて頂いたコードを実際に貼り付けてビルドしてみたのですが、「エラー E2303 c:\newmyc\game\game.cpp 1803: 型名が必要」とのエラーが出ました。
私のプログラムのエラーと何か関係があるのでしょうか?重ねて質問してしまい誠に申し訳ございません。
Re:ScreenFlipでエラー
あっ、間違いでした。修正します。
#include"DxLib.h"
int WINAPI WinMain(HINSTANCE,HINSTANCe,PSTR,int)
{
int i=0;
if(DxLib_Init()==-1)return -1;
while(ProcessMessage()!=-1&&CheckHitKey(KEY_INPUT_ESCAPE)==0){
printfDx("%d",i)
ScreenFlip();
clsDx();
i++;
}
DxLib_End();
return 0;
}
赤字の部分が修正箇所。Re:ScreenFlipでエラー
またもや非常に早いご返答ありがとうございます!全く感激です!!
ええと申し訳ありません、貼り付けてビルドしたのですがまた同じエラーのようです・・・。先ほどは言い忘れましたが、
int WINAPI WinMain(HINSTANCE,HINSTANCe,PSTR,int)
の行がエラー箇所のようです。ちなみに、私がプログラムを書くときはその行を
int WINAPI WinMain(HINSTANCE hI,HINSTANCE hp,LPSTR lpC,int nC)
と書いております。これが原因だったり・・・しませんよね・・・。何度も何度も本当に申し訳ございません。
ええと申し訳ありません、貼り付けてビルドしたのですがまた同じエラーのようです・・・。先ほどは言い忘れましたが、
int WINAPI WinMain(HINSTANCE,HINSTANCe,PSTR,int)
の行がエラー箇所のようです。ちなみに、私がプログラムを書くときはその行を
int WINAPI WinMain(HINSTANCE hI,HINSTANCE hp,LPSTR lpC,int nC)
と書いております。これが原因だったり・・・しませんよね・・・。何度も何度も本当に申し訳ございません。
Re:ScreenFlipでエラー
返答が遅れ誠に申し訳ございません!
何とか実行でき、全画面表示で左上でカウントが進むというプログラムが動きました。
ということはやはりScreenFlipが原因ではないのですね・・・。これがわかっただけでも非常に有益だと思います、今回は誠にありがとうございました。
・・・でもどこが悪いんだろうなぁ・・・。
何とか実行でき、全画面表示で左上でカウントが進むというプログラムが動きました。
ということはやはりScreenFlipが原因ではないのですね・・・。これがわかっただけでも非常に有益だと思います、今回は誠にありがとうございました。
・・・でもどこが悪いんだろうなぁ・・・。