2012-06-16 22 views
2

所以我有这个奇怪的问题 - 即时通讯使用sfml与c + +和我想编辑一个游戏屏幕(我创建了一个屏幕类,由不同级别和屏幕的游戏派生)但奇怪的是,当我改变类中的东西(例如,如果即时通讯试图改变精灵的像素移动速度)和我编译和运行程序,我看到绝对没有变化,但如果我后来改变另一个类(没关系哪个班,任何班都可以工作)比看不到我创建的游戏画面的变化... 我真的不知道这里的问题是什么,所以即时通讯要求你的帮助只编辑其他类后编译更改

by如果它的事情的方式是有班级的(没有标题,只有的.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(); 
    } 
}; 
+1

这可能很愚蠢,但是您确定程序已完全编译?例如,如果你正在编写你自己的Makefiles,你确定你已经使依赖正确吗? – Shahbaz

+0

我使用visual C++ express 2010 ...我相信程序会被完全编译,但我担心它可能是问题。但不知道它:O –

+0

它不应该是一个问题,但无论哪种方式,尝试改变你的课堂,并做一个完整的重建,看看是否可以解决问题。 – Shahbaz

回答

1

如果您的工作与C/C++多个文件,C/C编译器的编译++各的* .c或* CPP文件并使其*的.o或* OBJ文件中的某些编译器。 gcc使用* .o。然后链接器将它们链接在一起。当你重新编译一个特殊文件时,你应该编译它的依赖关系。