【发布时间】:2016-10-11 15:59:31
【问题描述】:
我想像 HTML 游戏一样对齐我的游戏组件。
我的SDL_Window将有一个SDL_Rendererrendering他的所有组件。这些组件是一些按钮、图像和一个矩形区域类似于 html 画布。
我希望我的游戏在这个画布内渲染,因为我将实现一个“世界”和一个“相机”,它们只会影响这个“画布”,而围绕“画布”的 GUI " 将独立于相机进行渲染。
如何让渲染器渲染窗口内的特定区域?
我不能用数学来做到这一点,因为我希望在画布内渲染的每个纹理都被隐藏起来,但离视点太远了。
部分代码:
SDL_Window* gWindow = SDL_CreateWindow("Title", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 600, SDL_WINDOW_SHOWN);
SDL_Renderer* gRenderer = SDL_CreateRenderer(gWindow, -1, SDL_RENDERER_ACCELERATED);
while (true) {
SDL_RenderClear(gRenderer);
render_gui(); // i can do this part
render_game_inside_canvas(); // ?
SDL_RenderPresent(gRenderer);
}
【问题讨论】:
-
What have you tried? 请至少付出最小的努力来解决这个问题。
标签: c++ canvas sdl area renderer