C++ SDL渲染和纹理,传递引用
我正在尝试实现一个带有render和window的类窗口,以及一个纹理的类绘制,为了绘制,我需要有一个对渲染的引用,但如果它们是泛型类,我不能将我的绘制类与单个渲染结合,所以我尝试发送一个对绘制的引用,在窗口中渲染,所以它可以在渲染上绘制 我有这样的东西C++ SDL渲染和纹理,传递引用,c++,pointers,sdl,C++,Pointers,Sdl,我正在尝试实现一个带有render和window的类窗口,以及一个纹理的类绘制,为了绘制,我需要有一个对渲染的引用,但如果它们是泛型类,我不能将我的绘制类与单个渲染结合,所以我尝试发送一个对绘制的引用,在窗口中渲染,所以它可以在渲染上绘制 我有这样的东西 class SDLWindow{ public: SDLWindow(std::string Title,int h=480, int w=640, int x=SDL_WINDOWPOS_CENTERE
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);
}
我确信,有一些非常基本的东西,指针和引用,但我现在无法理解。。。有什么帮助吗
void SimpleDrawText::Draw(SDL_Renderer* ref){
SDL_RenderCopy(ref, drawTexture, &source, &destination);
}
我相信这就是你想做的。希望能有帮助