SDL 无法创建没有常量变量的矩形数组
SDL can't create a array of rectangles without a constant variable
我在 C++ SDL 库 中工作。我正在尝试动态创建一些矩形。但它不起作用。我通过搜索 whosebug.com 找到的唯一解决方案是创建一个常量值,但我不想这样做。
谁能帮帮我?
这是我的代码:
void lvl001(){
max_score = 20;
count_enemies = 2;
SDL_Surface *enemie;
SDL_Rect enemies_sources[no] , enemies[no];
enemie = SDL_LoadBMP("player.bmp");
for( int count = 1; count <= no ; count++ ){
enemies_sources[count].x = 0;
}
}
还有一件事。如果有解决办法,那么如果我想blit它应该如何进行呢(SDL_Blit...
)?
在 C++ 中,动态数组是使用 std::vector<T>
创建的,当您不关心索引时,使用基于范围的 for
循环:
std::vector<SDL_Rect> enemies_sources(no);
std::vector<SDL_Rect> enemies(no);
for (auto& source : enemies_sources)
{
source.x = 0;
}
我在 C++ SDL 库 中工作。我正在尝试动态创建一些矩形。但它不起作用。我通过搜索 whosebug.com 找到的唯一解决方案是创建一个常量值,但我不想这样做。
谁能帮帮我?
这是我的代码:
void lvl001(){
max_score = 20;
count_enemies = 2;
SDL_Surface *enemie;
SDL_Rect enemies_sources[no] , enemies[no];
enemie = SDL_LoadBMP("player.bmp");
for( int count = 1; count <= no ; count++ ){
enemies_sources[count].x = 0;
}
}
还有一件事。如果有解决办法,那么如果我想blit它应该如何进行呢(SDL_Blit...
)?
在 C++ 中,动态数组是使用 std::vector<T>
创建的,当您不关心索引时,使用基于范围的 for
循环:
std::vector<SDL_Rect> enemies_sources(no);
std::vector<SDL_Rect> enemies(no);
for (auto& source : enemies_sources)
{
source.x = 0;
}