2

基本的な 2D ゲームを作成しています。私のコードは Visual Studio 2010 で問題なく動作します。ただし、.exe を作成して実行すると、「デバッグ エラー、R6010、中止が呼び出されました」というメッセージが表示されます。

ゼロから始めて、エラーが見つかるまでコードのビットを追加することで、問題を以下のコードに絞り込みました。関数全体を含めましたが、必要に応じてさらにコードを提供できます。

他の人々の質問への回答は、問題がエラーがキャッチされていないことに関係していることを示唆しています (try/catch ステートメントを試してみましたが、役に立ちませんでした)。ただし、デバッグモードでそれらなしでコードが実行される場所はわかりません。

誰か提案があれば、私はとても感謝しています。

  void initGUI()
{

//Button Types correspond to which section of the screen the button will be displayed in. 
//type 1 = Top Bar,
//type 2 = Main Body,
//type 3 = Overlay window (gui1 only)

bool endFile = false;
string totalGUIString;
string text;
vector<string> stringVector;

//Open the file
cout << "Opening file buttons.txt" << endl;
fstream textFile;
textFile.open("buttons.txt");

//Read the first line and determine the amount of GUI's that need to be created
textFile >> totalGUIString;
int totalGUIs = convertStringToInt(totalGUIString);
cout << "Total number of GUI's to load = " << totalGUIs << endl;

//Create the correct amount of GUI's
for(int j = 0; j < totalGUIs; j++)
{
    guiMatrix.push_back(gui(j));
}

textFile >> text;

while(endFile == false) //Search through the main body of the file
{
    //textFile >> text;

    if(text == "END") 
    {
        endFile = true;
        cout << "Reached the end of the file" << endl;
    }
    else
    {
        stringVector.push_back(text);
        //cout << "PushBack:"  << text << endl;

        if(text == "E")
        {
            //Use vector to populate the button constructor
            int button0 = convertStringToInt(stringVector[0]);
            int button1 = convertStringToInt(stringVector[1]);
            string button2 = stringVector[2];
            int button3 = convertStringToInt(stringVector[3]);

            //cout << "TESTING:: " << button0 << " " << button1 << " " << button2 << " " << button3 << endl;

            guiMatrix[button0].addButton(button1, button2, button3);

            stringVector.clear();

        }

        textFile >> text;
    }
}

textFile.close();

//For every guiMatrix print the button list to cout. 
for(int a = 0; a < totalGUIs; a++)
{
    guiMatrix[a].printButtonMatrix();
}
} 

入力されるテキスト ファイルは次のようになります。 上部の数字は、作成する GUI ページの数を定義します。各エントリの形式は次のとおりです。ページ番号、ロケーション ハンドル、名前、有効期間、終了

5

0 2 Explore 0 E
0 2 Technologies 0 E
0 2 Buildings 0 E
0 2 Workers 0 E

0 1 Scoop_Water 10 E
0 1 Collect_Water 10 E
0 1 Forage 10 E
0 1 Gather_Twigs 10 E
0 1 Fell_Trees 10 E

1 2 Enter 0 E

1 1 Build_Road 1 E

2 2 Explore 0 E
2 2 Main 0 E
2 2 Buildings 0 E
2 2 Workers 0 E

2 1 Backpack 0 E
2 1 Hand_Cart 0 E

3 2 Explore 0 E
3 2 Main 0 E
3 2 Technologies 0 E
3 2 Workers

3 1 Build_Hut 0 E

4 2 Explore 0 E
4 2 Main 0 E
4 2 Technologies 0 E
4 2 Buildings 0 E


END
4

1 に答える 1

1

これらのファイルが見つからない場合に何をすべきかについての規定はありませんでした.png.exe.

関連.pngファイルを実行可能ファイルと同じフォルダーに移動することで解決しました。

于 2013-10-20T21:04:35.350 に答える