如何在SDL中实现转义序列

时间:2010-12-27 16:32:24

标签: c++ graphics sdl iostream

我正在尝试在SDL中使用STL库。但它给了我错误
 "undeclared identifier" 我有什么方法可以使用"\n"甚至cout<<endl; 可以将鼠标光标放在屏幕上所需位置的函数SDL_WarpMouse可以帮助我解决这个问题。因为我想在下一行序列上添加一个图块 我希望你能得到这个问题。它的问题非常含糊不清(对不起)。

修改

void putMap(SDL_Surface* tile, SDL_Surface* screen)
{
    for(int y = 0; y < 21; y++)
    {
        for(int x = 0; x < 60; x++)
        {
            if(maze[x][y] != '#')
            {
                apply_surface( x*10 , y*10 , tile, screen);
            }
        }
        cout<<endl;
    }
}

c:\documents and settings\administrator\my documents\visual studio 2008\projects\craptest\craptest\main.cpp(605) : error C2065: 'cout' : undeclared identifier

c:\documents and settings\administrator\my documents\visual studio 2008\projects\craptest\craptest\main.cpp(605) : error C2065: 'endl' : undeclared identifier

这是我的apply_surface函数。

void apply_surface( int x, int y, SDL_Surface* source, SDL_Surface* destination )
{
    //Make a temporary rectangle to hold the offsets
    SDL_Rect offset;

    //Give the offsets to the rectangle
    offset.x = x;
    offset.y = y;

    //Blit the surface
    SDL_BlitSurface( source, NULL, destination, &offset );
}

1 个答案:

答案 0 :(得分:2)

coutendl位于std命名空间中且必须符合条件:

std::cout << std::endl;

或者,您可以使用using声明:

using std::cout;
using std::endl;

cout << endl;