Hallo erstmal,
ich habe folgendes Problem, ich habe eine Klasse "Player" diese erbt von der Klasse "Sprite". In der Sprite Klasse gibt es eine Funktion "move( x, y )".
Jetzt wollte ich in der Eventschleife über den Tastendruck "W" die Funktion "movePlayer()" aus der Player Klasse aufrufen in dieser werden x und y ausgerechnet und an die move(x, y ) Funktionübergeben und diese auch aufgerufen.
Edit: Hab vergessen zu erwähnen, ich benutz die SFML 2.0.
Eventschleife:
|
C-/C++-Quelltext
|
1
2
3
|
else if( sf::Keyboard::isKeyPressed( sf::Keyboard::W ) ){
player.movePlayer();
}
|
Playerklasse:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
|
void Player::movePlayer(){
x = 1.5f * cos( playerAngle );
y = 1.5f * sin( playerAngle );
move( x, y );
}
|
Spriteklasse:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
|
void cSprite::move( float x, float y ){
sfSprite.setPosition( vfPos.x+x, vfPos.y+y );
vfPos.x += x;
vfPos.y += y;
}
|
Die Funktion wird aufgerufen hab ich schon mit Haltepunkten überprüft, nur es passiert nichts wenn ich die move Funktion allerdings im render Teil aufrufe geht es.
Vielleicht weiß ja jemand woran es liegen könnte.