Hey,
ich habe ein kleines Problem mit meinem Spawner, er soll an einer zufälligen Position bis zu einer bestimmten Anzahl Gegner spawnen lassen. Das klappt auch alles soweit, nur habe ich jetzt das Problem das das Spiel nach ca. 10 Gegnern ziemlich langsam läuft(Der Spieler und die Bullets bewegen sich langsamer), was eigentlich nicht sein kann.
Hier ein Teil vom Code:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
[cpp]
void Spawner::spawnEnemys(sf::RenderWindow *rw,EntityManager *em)
{
enemyCount = em->mEntityList.size();
if(enemyCount == maxEnemyCount){
value = 0;
maxEnemyCount = maxEnemyCount + 15;
}
if(enemyCount == 0)
value = 1;
spawnCount = spawnCount + value;
int rnd1;
int rnd2;
if(spawnCount > maxSpawn)
{
rnd1 = (rand()&500)+1;
rnd2 = (rand()&500)+1;
Entity *e = new Entity("enemy.png",sf::Vector2f(rnd1,rnd2));
std::string id = static_cast<std::ostringstream*>( &(std::ostringstream() << index) )->str();
em->addEntity(id,e);
std::cout << "Enemy Count: " << enemyCount << std::endl;
index = index + 1;
spawnCount = 0;
}
}
|
[/cpp]
Die Sprites werden außerdem gelöscht und aus der Liste entfernt wenn sie mit einem Bullet kollidieren.
LG