SFML とベクター ヘッダーを使用してスプライトのベクターを作成するにはどうすればよいですか? ベクトルを次のように開始しました
vector<sf::Sprite> test;
そして、push_back() を実行しようとしていますが、「()」の中に何を入れる必要があるのか わかりません。
とにかく、私のベクトルは41x31になるので、次のような方法があります
vector<vector<sf::Sprite> > test (41,vector<sf::Sprite>(31,??))
?
これを使用してタイルマップを作成しています。誰かがより良いアイデアを持っている場合は、感謝します
編集:
私はまだエラーがあります、それは私のコードです
vector<vector<int> > mapc (5,vector<int>(5,1));
sf::Sprite mapa[5][5];
void fmap() {
mapc[0][0] = 1; mapc[0][1] = 1; mapc[0][2] = 1; mapc[0][3] = 1; mapc[0][4] = 1;
mapc[1][0] = 1; mapc[1][1] = 0; mapc[1][2] = 0; mapc[1][3] = 0; mapc[1][4] = 1;
mapc[2][0] = 1; mapc[2][1] = 0; mapc[2][2] = 1; mapc[2][3] = 0; mapc[2][4] = 1;
mapc[3][0] = 1; mapc[3][1] = 0; mapc[3][2] = 0; mapc[3][3] = 0; mapc[3][4] = 1;
mapc[4][0] = 1; mapc[4][1] = 1; mapc[4][2] = 1; mapc[4][3] = 1; mapc[4][4] = 1;
sf::Image w;
w.LoadFromFile("w.png");
sf::Image f;
f.LoadFromFile("f.png");
unsigned int i,j;
for(i=0;i<mapc.size();i++) {
for(j=0;j<mapc[i].size();j++) {
if(mapc[i][j] == 1) { sf::Sprite teste(w); }
else { sf::Sprite teste(f); }
mapa[i][j] = teste;
}
}
// test.push_back(teste);
}
それは言う
「'teste' はこのスコープで宣言されていません」