gpt4 book ai didi

c - 包含 SDL_Rect 的二维结构数组的 SDL_BlitSurface 参数指针

转载 作者:太空宇宙 更新时间:2023-11-04 08:44:26 25 4
gpt4 key购买 nike

我正处于游戏的开始阶段,我卡在了 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 次?真的吗?更糟糕的是,不破坏它。

关于c - 包含 SDL_Rect 的二维结构数组的 SDL_BlitSurface 参数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22253299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com