Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
#include "main.hpp" int main() { ///Variablen, Klasseninstanzen, Iteratoren usw. //Window sf::RenderWindow App(sf::VideoMode(600, 800, 32), "Autospiel", sf::Style::Titlebar); //Musik sf::Music m; //Timer sf::Clock ClockPlayer; sf::Clock ClockEnemy; float fPlayerTimer=0.f; float fEnemyTimer=0.f; //Listen und Iteratoren list<sf::Sprite> EnemyList; list<sf::Sprite>::iterator EnemyIt; //Images sf::Image ImgPlayer; sf::Image ImgEnemy; sf::Image ImgBackground; //Sprites sf::Sprite SprEnemy; sf::Sprite SprPlayer; sf::Sprite SprBackground; //Vektoren for Player and Enemy sf::Vector2f fVektorPl(0.f, 750.f); sf::Vector2f fVektorEn(0.f, 0.f); //Event sf::Event Eventii; //Files laden if(!ImgPlayer.LoadFromFile("Autos.png")) return 3; if(!ImgEnemy.LoadFromFile("Gegner.png")) return 3; if(!ImgBackground.LoadFromFile("Background.png")) return 3; if(!m.OpenFromFile("Musik.ogg")) return 3; //Bind Images to Sprite SprPlayer.SetImage (ImgPlayer ); SprBackground.SetImage(ImgBackground); //Play Music //m.Play(); //m.SetLoop(true); while(App.IsOpened()) { ///Calculating of Time //Player fPlayerTimer = ClockPlayer.GetElapsedTime(); //Enemy fEnemyTimer = ClockEnemy.GetElapsedTime(); ///Enemy-System //Moving if(fEnemyTimer>=1.f) { fVektorEn.y+=187.5f; ClockEnemy.Reset(); } //Spawning if(fEnemyTimer>=1.f) { if(EnemyList.size()<5) { SprEnemy.SetImage (ImgEnemy); EnemyList.push_back(SprEnemy); } for(EnemyIt=EnemyList.begin(); EnemyIt!=EnemyList.end(); ++EnemyIt) { EnemyIt->SetPosition (fVektorEn); } } //Set Positions SprPlayer.SetPosition(fVektorPl); //Eventloop while(App.GetEvent(Eventii)) { //Window closed? if(Eventii.Type == sf::Event::Closed) App.Close(); //Escape pressed? if((Eventii.Type == sf::Event::KeyPressed)&&(Eventii.Key.Code == sf::Key::Escape)) App.Close(); //Leftkey pressed? if((Eventii.Type == sf::Event::KeyPressed)&&(Eventii.Key.Code == sf::Key::Left)) { if(fPlayerTimer>=0.75f) { if(fVektorPl.x>0.f) fVektorPl.x-=100.f; else { fVektorPl.y=750.f; fVektorPl.x=500.f; } ClockPlayer.Reset(); } } //Rightkey pressed? if((Eventii.Type == sf::Event::KeyPressed)&&(Eventii.Key.Code == sf::Key::Right)) { if(fPlayerTimer>=0.75f) { if(fVektorPl.x<500.f) fVektorPl.x+=100.f; else { fVektorPl.y=750.f; fVektorPl.x=0.f; } ClockPlayer.Reset(); } } } ///Draw App.Clear( ); App.Draw (SprBackground); App.Draw (SprPlayer ); App.Draw (SprEnemy ); App.Display ( ); } |
C-/C++-Quelltext |
|
1 2 |
srand(time(NULL)); ___einzelnerGegner___.SetPosition(600.f/rand()%6, 0.f); |
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »MisterX« (02.08.2011, 23:57)
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
if(fEnemyTimer>=1.f) { fVektorEn.y+=187.5f; ClockEnemy.Reset(); } //Spawning if(fEnemyTimer>=1.f) { if(EnemyList.size()<5) { SprEnemy.SetImage (ImgEnemy); EnemyList.push_back(SprEnemy); } for(EnemyIt=EnemyList.begin(); EnemyIt!=EnemyList.end(); ++EnemyIt) { float needed = static_cast<float>(600/rand()%6); fVektorEn2.x=needed; EnemyIt->SetPosition (fVektorEn2); } } |
Ich dachte du kannst C++? Und jetzt weisst du nicht mal, wie man durch eine Liste iteriert? Dann lies das mal schleunigst nach. Und debugge mal, was in deiner needed Variable steht. Vermutlich Schwachsinn.Was ich aber nicht weiß, wie spreche ich einen einzelnen Gegner aus der Liste an?
C-/C++-Quelltext |
|
1 2 3 4 |
for(EnemyIt=EnemyList.begin(); EnemyIt!=EnemyList.end(); ++EnemyIt) { //... } |
Werbeanzeige