Hallo,
Ich hab mal wieder ein Problem nur ist es das gleiche was
ich beim letzen Thread auch hatte, nur wollte ich es nicht wieder
entstauben, hatte leider wenig Zeit um da weiter zu machen.
So nun ist es aber so das ich möchte das mit nur einem Spirit
im Spiel immer nach einer bestimmten Zeit ein nächster Spirit
runter kommt. Um genau zu sein es sollen Asteroiden sein die
nach bestimmten Zeitablauf runterfliegen.
Natürlich geht das wiedermal nicht. :?
So siehts aus:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
App.Clear();
float Random = sf::Randomizer::Random(-1.f, 400.f);
if(Clock.GetElapsedTime() < 5.f)
{
if(Leben < 0) {}
else{
SAsteroid.SetPosition(Random, 0);
SAsteroid.Move(0, 200 * ElapsedTime);
VSAsteroid.push_back(SAsteroid);
App.Draw(VSAsteroid.at(0));
Clock.Reset();
}
}
App.Display();
|
Nun die Probleme, der Asteroid platziert sich immer in der
Mitte Sprich es ist kein Random Wert. Außerdem komt
kein neuer Asteroid nachdem die Zeit abgelaufen ist...
Wenn ich ihn abknalle haut das ding ab. Und der Asteroid
kommt nicht runter also SAsteroid.Move(...) haut nicht hin.
In der SDL hatte ich das immer so gemacht:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
|
if (m_EEnemyZähler >= 0.10f)
{
CEnemy Enemy;
int XPosition = rand()%336;
Enemy.Initialisieren (m_pSpriteEnemy, static_cast<float>(XPosition), -20.0f);
m_EnemyListe.push_back (Enemy);
m_EEnemyZähler = 0.0f;
}
//Hatte ich von einem Buch... Name vergessen... :oops:
|
Lg Genro Hoffe auf Hilfe!