我处于游戏的开头,我陷入了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次上重新加载图像?真的吗?更糟糕的是,不要销毁它。