2

だから私はこの奇妙な問題を抱えています-私はc ++でsfmlを使用していて、ゲーム画面を編集したい(ゲームのさまざまなレベルと画面から派生する画面クラスを作成しました)が、奇妙なことは、私が物事を変更するときですクラス(たとえば、スプライトのピクセル移動速度を変更しようとする場合)およびプログラムをコンパイルして実行するよりも、変更はまったくありませんが、後で別のクラスを変更すると(どのクラスでも、どのクラスでもかまいませんうまくいくでしょう)私が作成したゲーム画面の変更がよく見えない...ここで何が問題なのか本当にわからないので、あなたの助けを求めています

ちなみに、問題がある場合はクラスがあります(ヘッダーなし、 .cpp のみ)

#include "Screen.hpp"
#include "Sprite.hpp"
#include <iostream>

using namespace sf;

class GameScreen : public rce::Screen
{
private:
    rce::Sprite s;

public:
    GameScreen() : Screen()
    {
    }

    void Load()
    {
        s.SetImage("circle.png");
    }

    void Unload()
    {
    }

    void Update()
    {
        s.SetX(s.GetX()+1);
    }

    void Draw()
    {
        s.Draw();
    }
};
4

1 に答える 1

1

C/C++ で複数のファイルを処理する場合、C/C++ のコンパイラは、各 *.c または *cpp ファイルをコンパイルして *.o にするか、一部のコンパイラでは *obj ファイルにします。gcc は *.o を使用します。次に、リンカーがそれらをリンクします。特殊ファイルを再コンパイルするときは、その依存関係をコンパイルする必要があります。

于 2012-07-28T20:25:47.120 に答える