C -sdl_blitsurface参数指针,即包含SDL_RECT的结构的2D阵列



我处于游戏的开头,我陷入了Blit_Surface步骤。我的CodeBlocks编译器说->的无效类型参数(具有BrickStruct)。在哪个成员中,每个成员是第二个数组的第一个成员的指针?在这种情况下,看来不需要参数指针,不是吗?我找不到类型问题在哪里。

void Display(BrickStruct Bricks[12][10],SDL_Surface *ecran)
{
    int i=0,j=0;
    for(j=0;j<10;j++)
    {
        if( (j+1)%2==0 )  // If we are on even lines, display only 11 bricks
        {
            for(i=0;i<11;i++)
            {
                Bricks[i][j].Brick_Surface = IMG_Load("BrickTest1.png");
                SDL_BlitSurface(Bricks[i][j].Brick_Surface, NULL, ecran, Bricks[i][j]->Brick_Coordinates);
            }
        }
        else   // If we are on odd lines, display the 12 bricks
        {
            for(i=0;i<12;i++)
            {
            }
        }
    }
}

我的结构看起来像这样:

typedef struct BrickStruct
{
    int type;
    SDL_Rect Brick_Coordinates;   
    SDL_Surface *Brick_Surface;  
}BrickStruct;

在我的主体中,我的代码是这样的:

SDL_Surface *ecran = NULL; 
BrickStruct Bricks[12][10];  // I create my 2D array of struct named Bricks
Display(Bricks,&ecran);

有人可以说明我的问题在哪里?预先感谢

编译器当然是正确的。

SDL_BlitSurface(Bricks[i][j].Brick_Surface, NULL, ecran, &Bricks[i][j].Brick_Coordinates);

但是在每次绘制120次上重新加载图像?真的吗?更糟糕的是,不要销毁它。

最新更新