我正在使用Visual C ++ 2012在我的简单OpenGL游戏中为块创建一个类,并且遇到了一个奇怪的错误。这是完整的错误:
以下是代码:
block.h
#pragma once
#include "agent.h"
#include <Engine2D/spritebatch.h>
class Block {
public:
Block(glm::vec2 dim, glm::vec4 uv, glm::vec2 pos, GLuint texture);
// Draws the block to the sprite batch
void draw(e2d::SpriteBatch& spriteBatch);
// Returns the position
glm::vec2 getPosition();
// Returns the size
glm::vec2 getSize();
private:
glm::vec2 _dim;
glm::vec4 _uv;
glm::vec2 _pos;
GLuint _texture;
};
block.cpp
#include "block.h"
Block::Block(glm::vec2 dim, glm::vec4 uv, glm::vec2 pos, GLuint texture) :
_dim(dim),
_uv(uv),
_pos(pos),
_texture(texture)
{}
void Block::draw(e2d::SpriteBatch& spriteBatch) {
spriteBatch.draw(glm::vec4(_pos.x, _pos.y, _dim.x, _dim.y), _uv, e2d::color(), 0.0f, _texture);
}
glm::vec2 Block::getPosition() {
return _pos;
}
glm::vec2 Block::getSize() {
return _dim;
}
// ERROR LINE
如果您发现问题或可以详细说明原因,我们将不胜感激。谢谢!
注意:
答案 0 :(得分:1)
现在我已经回顾了它,我发现了错误的原因。这是因为我包含了我的agent.h类,从未对它做任何事情。糟糕!