三天前我刚刚开始学习Abotu的C ++ / SDL,在学习视频教程之后,我一直在不停地学习。我全神贯注,我无法解决“使用未定义类型”的问题,我完全按照教程操作,仔细检查了所有语法,只是不知道出了什么问题。
我已经搜索了这个论坛,很抱歉,但是我不明白其中的解释或发生的事情
这是代码,第26行具有ERror C2027:使用未定义类型“ AssetManager”;
#pragma once
#include "ECS.h"
#include "../Vector2D.h"
#include "../Game.h"
#include "../TextureManager.h"
#include "../AssetManager.h"
class TileComponent : public Component
{
public:
SDL_Texture* texture;
SDL_Rect srcRect, destRect;
Vector2D position;
TileComponent() = default;
~TileComponent()
{
SDL_DestroyTexture(texture);
}
TileComponent(int srcX, int srcY, int xpos, int ypos, int tsize, int tscale, std::string id)
{
texture = Game::assets->GetTexture(id);
position.x = xpos;
position.y = ypos;
srcRect.x = srcX;
srcRect.y = srcY;
srcRect.w = srcRect.h = tsize;
destRect.x = xpos;
destRect.y = ypos;
destRect.w = destRect.h = tsize * tscale;
}
void update() override
{
destRect.x = position.x - Game::camera.x;
destRect.y = position.y - Game::camera.y;
}
void draw() override
{
TextureManager::Draw(texture, srcRect, destRect, SDL_FLIP_NONE);
}
};