【发布时间】:2016-07-05 14:07:17
【问题描述】:
我正在编写一个允许绘图移动的海龟类。我没有为此使用任何游戏循环。此海龟对象的用户 将发出如下命令:
Turtle t;
t.forward(50);
t.left(90);
Turtle 构造函数负责创建窗口和渲染器。 所有的交互都是通过编程来实现的。不轮询任何类型的键盘事件。现在我可以使用以下代码渲染螺旋动画:
int main(int argc, char* args[]){
Turtle t;
t.clear();
t.color("red");
int numofside = 100;
t.shape("seaturtle");
for (int i=0; i<numofside; i++)
{
t.forward(i + 5);
t.left(75);
SDL_RenderPresent(m_pRenderer);
SDL_Delay(50);
}
SDL_Delay(5000);
IMG_Quit();
SDL_Quit();
}
现在最大的问题是如何让海龟图像跟随正在渲染的线条?
我理解使用帧(循环)在 SDL2 中做动画的概念,即清除屏幕,在当前位置渲染,增加 x,y 位置。
但我无法清除屏幕,因为它会清除我现有的已绘制线条。
有没有什么SDL贴图功能可以在不删除整个屏幕的情况下让图像显示和隐藏?或者有什么想法吗?
【问题讨论】: