Werbeanzeige
![]() |
C-/C++-Quelltext |
1 2 3 4 |
void C_Shot::update(sf::RenderWindow &window,sf::Sprite &sprite) { m_Speed * window.GetFrameTime() = sprite.GetPosition().y; } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »denniro« (11.11.2011, 23:46)
![]() |
C-/C++-Quelltext |
1 |
sprite.GetPosition().y = m_Speed*window.GetFrameTime(); |
Weil du gerade Versuchst m_Speed * irgendwas zu rechnen und dann m_Speed einen neuen Wert zuzuweisen. Schreibs so:
![]()
C-/C++-Quelltext
1 sprite.GetPosition().y = m_Speed*window.GetFrameTime();
Links vom "=" sind l (left) values. Die müssen änderbar sein. Und a*b = c ist a*b also links und da dies zwei Variablen sind ist dies nicht änderbar. Ich hoffe ich erklär das halbwegs verständlich![]()
![]() |
C-/C++-Quelltext |
1 |
sprite.GetPosition().y |
![]() |
C-/C++-Quelltext |
1 2 3 4 5 |
void C_Shot::update(sf::RenderWindow &window,sf::Sprite &sprite) { float m_yPos = static_cast<float>(sprite.GetPosition().y); m_yPos = m_Speed*window.GetFrameTime(); } |
![]() |
C-/C++-Quelltext |
1 2 3 4 5 |
void C_Shot::update(sf::RenderWindow &window,sf::Sprite &sprite, float &m_yPos) { m_yPos = static_cast<float>(sprite.GetPosition().y); m_yPos = m_Speed*window.GetFrameTime(); } |
Hej, ja denke schon, da ich es in float konvertieren möchte.Brauchst du dafür echt nen static_cast? Ich kenn mich mit diesen ganzen ..._cast quwatsch nicht so gut aus...
Zitat
1. Warum castest du die y-Position in einen float? Es hat schon seinen Sinn wenn "y" ein Integer ist. Falls das nicht so seien sollte, was auch möglich aber unlogisch ist, brauchst du nicht casten.
2. Du initialisierst die Variable mit dem y-Wert. Aber direkt danach weist du ihr etwas Anderes zu.
Werbeanzeige