我正在尝试实现一个Class窗口(带有渲染和窗口)和一个Draw(纹理)类,为了绘制我需要有一个渲染的引用,但是它们将是通用的类,我不能将我的绘制类与单个渲染结合,所以我试图在窗口中发送绘制的渲染,因此它可以在渲染上绘制...
我有这样的事情......
class SDLWindow{
public:
SDLWindow(std::string Title,int h=480, int w=640, int x=SDL_WINDOWPOS_CENTERED, int y=SDL_WINDOWPOS_CENTERED, Uint32 flag =SDL_WINDOW_SHOWN );
void RendererOptions(Uint8,Uint8,Uint8,Uint8);
void RendererClear();
void RendererPresent();
SDL_Renderer* ref2Window();
~SDLWindow();
private:
SDL_Window* DispWin;
SDL_Renderer* DispRenderer;
};
我希望这是帮助我提供渲染
的函数SDL_Renderer* SDLWindow::ref2Window(){
return DispRenderer;
}
这是抽奖类
class SimpleDrawText{
public:
SimpleDrawText(std::string file,SDL_Renderer& ref, int w=100,int h=100, int x=0, int y=0);
void Draw(SDL_Renderer& ref);
protected:
private:
SDL_Texture* drawTexture; // the new SDL_Texture variable
SDL_Rect source; // the first rectangle
SDL_Rect destination; // another rectangle
int posx;
int posy;
int height;
int width;
};
我得到像这样的引用
void SimpleDrawText::Draw(SDL_Renderer& ref){
SDL_RenderCopy(&ref, drawTexture, &source, &destination);
}
我确信,有一些非常基本的,指针和参考,但我现在无法理解......任何帮助?
答案 0 :(得分:0)
void SimpleDrawText::Draw(SDL_Renderer* ref){
SDL_RenderCopy(ref, drawTexture, &source, &destination);
}
这是你想要做的我相信的。希望它有所帮助。