die paddle.hpp fehlt.
egal.
|
C-/C++-Quelltext
|
1
|
m_PaddleShape = sf::Shape::Rectangle(20,560,140,580,sf::Color(0, 255, 0));
|
durch
|
C-/C++-Quelltext
|
1
2
|
m_PaddleShape = sf::Shape::Rectangle(-60,-10,60,10,sf::Color(0, 255, 0));
setPosition(*mittelpunkt des rects*);
|
bzw.
|
C-/C++-Quelltext
|
1
2
|
m_PaddleShape = sf::Shape::Rectangle(0,0,120,20,sf::Color(0, 255, 0));
setPosition(*linke obere ecke des rects*);
|
ersetzen.
du hast die linke obere ecke des rects mit 20|560 angeben. damit befindet sich die linke obere ecke auf dem bildschirm immer am positionsvektor+20|560.
die position des shape ist anfangs 0|0.
drückst du nun eine taste wird SetPosition vom shape aufgerufen und die tatsächliche linke obere ecke des rects befindet sich plötzlich an position 20|560+20|560=40|1020
gibst du deiner paddleklasse eine geschwindigkeit, einen maximal- und minimalwert für die position, kannst du ihr per methode z.b. move(LEFT) sagen in welche richtung sie sich bewegen soll. bei echtzeiteingaben sollte man allerdings die
hier ganz unten beschriebene methode verwenden.
dann kann deine paddleklasse sogar selbst die eingaben verwalten und deine hauptschleife muss nurnoch update und draw aufrufen. hoffe das war verständlich
wenn nicht nochmal bescheid sagen.