我有以下文件:
Source.cpp
#include "SFML\Graphics.hpp"
#include "SpriteControl.h"
using namespace sf;
int main(int argc, char ** argv){...}
SpriteControl.cpp
#include "SFML\Graphics.hpp"
#include "SpriteControl.h"
using namespace sf;
SpriteControl::SpriteControl(){}
SpriteControl::SpriteControl(Texture textureIn){
texture = textureIn;}
SpriteControl::~SpriteControl(){}
void SpriteControl::setMoveable(bool in) {
isMoveable = in;}
void SpriteControl::setVelocity(float vx, float vy) {
if (isMoveable) {
velocity.x = vx;
velocity.y = vy;
}
}
Vector2f SpriteControl::getVelocity() {
return velocity;}
SpriteControl.h
#pragma once
class SpriteControl{
Texture texture;
Sprite sprite;
bool isMoveable;
Vector2f velocity;
public:
SpriteControl();
SpriteControl(Texture textureIn);
~SpriteControl();
Vector2f getVelocity();
void setMoveable(bool in);
void setVelocity(float vx, float vy);
};
当我尝试构建时,我得到“纹理”和“速度”的未声明的标识符错误,以及我的构造函数“找不到重载的成员函数”,“.x必须具有类/结构/联合” ,“getVelocity不是SpriteControl的成员”,依此类推。几乎SpriteControl.cpp和SpriteControl.h文件的每一行都有一个错误,其中没有任何意义。有什么想法吗?
注意:SFML库都已正确链接。早些时候,程序的简单版本没有编译任何头文件,运行得很好。