Oooookaaaayyy....
Nun bewegen sie sich extrem langsam stark stockend, wenn ich es normal starte... o.ö
Eigentlich kann ich den Ganzen Rotz ja hierauf eingrenzen:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
if(isRun){
if(m_lifeTime>-1)
if(m_curLifeTime.getElapsedTime().asMilliseconds() > m_lifeTime){
m_life = false; return;}
sf::Vector2f mouse = r.convertCoords(sf::Mouse::getPosition(r), r.getView());
double vx = mouse.x - m_pos.x;
double vy = mouse.y - m_pos.y;
m_way = sf::Vector2f(static_cast<float>(vx / std::sqrt(std::pow(vx, 2.) + std::pow(vy, 2.))), static_cast<float>(vy / std::sqrt(std::pow(vx, 2.) + std::pow(vy, 2.))));
if(sf::Mouse::isButtonPressed(sf::Mouse::Right))
{
m_pos.x -= m_way.x * frametime;
m_pos.y -= m_way.y * frametime;
}
else
{
m_pos.x += m_way.x * frametime;
m_pos.y += m_way.y * frametime;
}}
|
Das bedeutet, dass die Variablen m_pos, m_way und frametime am ehesten in Frage kommen.
m_pos und m_way werden in der Initialisierungsliste vom Konstruktor feucht fröhlich initialisiert.
frametime ist eine Variable, die ich aus Gründen der Gleichmäßigkeit zwischenzeitlich in der Update-Funktion vom Emitter, dem Partikelmanager, erstelle und mit m_FrameTime.getElapsedTime().asMilliseconds() initialisiere. r ist vom Typ sf::RenderWindow und eine Referenz.
Ich bin wirklich verwirrt, kann es selbst durch Variablen und Zeiger auftreten, die selbst gar nichts mit zu tun haben?
MfG
Check