带有Ghost Line的SDL_RenderDrawLines

时间:2016-04-25 18:48:30

标签: c++ sdl render

我有一个简单的SDL2窗口,我正在尝试绘制路径。

我可以点击十次并使用此代码绘制一行

if (button == SDL_BUTTON_LEFT)
{
    if (Path.size() == Clicks) return;
    // Clicks is set by the initializer
    // Path is a vector of SDL_Points
    SDL_Point p;
    p.x = x;
    p.y = y;
    Path.push_back(p);
}
SDL_Point *points = new SDL_Point[Clicks];
for (int i = 0; i < Path.size(); i++)
{
    if (i == Clicks) break;
    points[i] = Path[i];
}
SDL_RenderClear(ren);
SDL_SetRenderDrawColor(ren, 0, 255, 0, 255);
SDL_RenderDrawLines(ren, points, Clicks);

哪种方法很好,它允许我绘制一条没有问题的路径,然而,它会创建一种从屏幕顶部飞过的鬼线。

Here's a picture of the line.

我有什么办法可以摆脱这一行并使用SDL_RenderDrawLines吗?如果不是我应该使用什么电话?

1 个答案:

答案 0 :(得分:0)

对我来说,它看起来更像是SDL_RenderDrawLines()

的参数问题

您是否检查了points的大小和Clicks的值?