Как реализовать escape-последовательность в SDL - PullRequest
0 голосов
/ 27 декабря 2010

Я пытаюсь использовать библиотеку STL внутри SDL. но это дает мне ошибку
"undeclared identifier" Есть ли способ, которым я могу использовать "\n" или даже cout<<endl; Может ли мне помочь в этом функция SDL_WarpMouse, которая помещает курсор мыши в нужное место на экране? Потому что я хочу поставить плитку в следующей последовательности строк.
Я надеюсь, что вы получите вопрос. Хотя это очень расплывчатый и запутанный вопрос (извините за это).

EDIT:

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 Ответ

2 голосов
/ 27 декабря 2010

cout и endl находятся в пространстве имен std и должны быть квалифицированы:

std::cout << std::endl;

В качестве альтернативы, вы можете использовать объявление использования:

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

cout << endl;
...