Hallo Leute,
leider habe ich schon wieder ein Problem, dass ich nicht allein lösen kann.
Mein Problem: Ich habe ein 2D Spiel in der SFML geschreiben, bei dem man eine Grafik bewegen kann (Klinkt sehr unspektakulär). Ich habe eine Prüfung eingebaut, wo geprüft wird, ob die Grafik sich außerhalb vom Bildschirmrand befindet. Wenn die Grafik außerhalb vom Bildschirm ist, dann soll ine neue Position gesetzt werden. Hier der Codeausschnitt:
|
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
|
// Positionen bekommen
float x = Grafic1_Sprite.getPosition().x;
float y = Grafic1_Sprite.getPosition().y;
// Prüfen, ob der Spieler außerhalb vom Fenster ist
//
// X
if (x <= 2)
{
x = window.getSize().x;
Grafic1_Sprite.setPosition(x, y);
}
if (x >= window.getSize().x)
{
x= 0.f;
Grafic1_Sprite.setPosition(x, y);
}
// Y
if (y <= 2)
{
y = window.getSize().y;
Grafic1_Sprite.setPosition(x, y);
}
if (y >= window.getSize().y)
{
y = 0.f;
Grafic1_Sprite.setPosition(x, y);
}
|
Wenn ich mir die Variable
x in der Konsole ausgeben lasse, dann ändert sie sich dementsprechent, was im Code steht, aber die Grafikposition ändert sich nicht
. Was ist der Fehler?
Danke für die Bemühung im Voraus!