Du bist nicht angemeldet.

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!

Suchergebnisse

Suchergebnisse 1-18 von insgesamt 18.

Werbeanzeige

06.04.2012, 00:50

Forenbeitrag von: »Dastan«

[ SFML ] Pathfinding - Pfad gefunden, aber wie folgen?

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 void CGame::followPath() { ElapsedTime = g_pTimer->Get_Elapsed(); if (Walkstat == 0) { if(ClosedList.front().x == static_cast<int>(Enemy.pSprite->GetPosition().x/32) +1) { Walkstat = 1; } else if(ClosedList.front().x == static_cast<int>(Enemy.pSprite->GetPosition().x/32) -1) { Walkstat = 2; } else if(ClosedList.front().y == sta...

05.04.2012, 22:06

Forenbeitrag von: »Dastan«

[ SFML ] Pathfinding - Pfad gefunden, aber wie folgen?

Zitat Dazu gehst du in jedem Frame ein Stückchen weiter auf den aktuellsten, sprich obersten, Knotenpunkt zu. Ok, aber wie hol ich mir den obersten Knotenpunkt(ohne for-schleife mit dazugehörigem Iterator) denn wenn ich versuche quasi "direkt" darauf zuzugreifen: C-/C++-Quelltext 1 ClosedList.end()->x Bekomme ich immer eine Error dazugeliefert: list iterator not dereferencable MfG Dastan Pathfinding is a bitch!

05.04.2012, 17:36

Forenbeitrag von: »Dastan«

[ SFML ] Pathfinding - Pfad gefunden, aber wie folgen?

Tut mir leid , aber ich glaub ich hab grade nen kompletten Blackout. Ich schaff es nicht das ganze in verschiedenen Frames zu regeln. Da ich mir den nächsten Knotenpunkt dadurch hole, dass ganze in der for-Schleife abspielen zu lassen und jedesmal den Iterator zu erhöhen. Dadurch habe ich immer nur einen "Zyklus" der Schleife Zeit bis es zum nächsten Knotenpunkt übergeht. Zitat Bei jeder Iteration deiner Game Loop setzt du deinen Spieler mehr und mehr zum aktuellen Knotenpunkt, den du ganz oben ...

04.04.2012, 22:54

Forenbeitrag von: »Dastan«

[ SFML ] Pathfinding - Pfad gefunden, aber wie folgen?

Zitat Nimm die Whiles aus deinen Schleifen. Vom Prinzip läuft es so: Nimm ersten Punkt von der Liste, bewege dann deine Figur um den Wert ihrer Geschwindigkeit in die Richtung des Punktes. Fertig. Im nächsten Frame das selbe. Ist die Figur irgendwann bei dem Punkt angekommen, kannst du ihn aus der Liste nehmen und es geht mit dem 2ten Punkt der Liste weiter. Du gehst bei dir in einem Frame die ganze Liste durch und bewegst immer direkt zu dem Punkt. Dadurch wird der ganze Pfad in einem Frame ab...

04.04.2012, 20:25

Forenbeitrag von: »Dastan«

[ SFML ] Pathfinding - Pfad gefunden, aber wie folgen?

Erstmal danke für die Antworten! Zitat Ja logisch, du frühstückst das Ganze in einer Schleife ab, d.h. der Rechner freezt solange die Schleife läuft und danach steht dein Spieler an der richtigen Position. Korrekt wäre, nach jedem Zeichenvorgang nur einen oder begrenzt viele Schritte zu machen. Ich glaub ich versteh es nich ganz, meinst du damit ich soll zuerst die Richtungen prüfen und dannach quasi "seperat" die eigentliche Bewegung ? also so ungefähr: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 if ......

04.04.2012, 12:43

Forenbeitrag von: »Dastan«

[ SFML ] Pathfinding - Pfad gefunden, aber wie folgen?

Aloha Leute, Nachdem ich mich mit A* Pathfinding beschäftigt habe, hab ich mir ein Pathfinding-script geschrieben, nicht das beste und auch noch arg verbesserungswürdig aber soweit wird der Pfad eigentlich gefunden. Nur krieg ich es einfach nicht hin das dem Pfad "smooth" gefolgt wird. Es soll in 4 richtungen gehen, also oben,unten,links,rechts. Ich dachte mir das ganze in etwa so: 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...

12.02.2012, 17:39

Forenbeitrag von: »Dastan«

[ SFML ] Probleme mit Tasten

Erstmal großes Dankeschön für den Tipp Zitat Der Zeiger wird nach dem Destruktoraufruf sowieso nichtmehr genutzt. Du verschwendest also nur Zeit. Alles klar, ich werds mir merken. MfG Dastan

12.02.2012, 16:46

Forenbeitrag von: »Dastan«

[ SFML ] Probleme mit Tasten

Na endlich ich habs gerafft. Danke Leute! Eine Sache währe da aber noch die mich irgendwie verwundert. Zitat In einer solchen Situation solltest du nach jedem delete den Zeiger auf NULL setzen(außer im Destruktor natürlich) Ich setze aber eig. Immer im Destruktor ein Delete und dannach den Zeiger auf NULL, was ist verkehrt daran? Beispiel: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 CSprite::~CSprite() { delete(pSprite); pSprite = NULL; delete(pTexture); pTexture = NULL; } Zurück zum Topic, falls irgendj...

12.02.2012, 12:12

Forenbeitrag von: »Dastan«

[ SFML ] Probleme mit Tasten

Zitat Zu allererst, würde ich den Sprite nicht jedesmal neu erstellen, sondern nur 1 mal und ihn entweder Rendern oder eben nicht Rendern! Erstellt du jedesmal einen neuen bool? Wenn ja, ist er nach jedem Frame wieder false (oder true) den auch nur 1 mal erstellen! Mit dem Rendern hast du recht, ich hab mir irgedwie schon gedacht das es auch für die Performance nicht das beste ist das ständig erstellen und initialisieren usw., ich versuch das mal umzumünzen. Der bool wird in einer Header-Datei ...

11.02.2012, 17:42

Forenbeitrag von: »Dastan«

[ SFML ] Probleme mit Tasten

Zitat Was genau meinst du damit? Zur Not könntest du mithilfe sf:leep(time); ne Wartezeit einbauen. Also die Sache mit dem tausendfachen ausführen ist so, die Funktion ( die den Code enthält) wird so lange/so oft ausgeführt bis man die Leertaste loslässt, dass bedeutet wiederrum wenn ich Sprite_Aktiv erst auf true schalte wenn ich die Taste loslasse, kann solange die Taste gedrückt bleibt die if-Anweisung beliebig oft ausgeführt werden. Etwas verwirrender Satz aba ich hoffe irgendwie verständli...

11.02.2012, 16:59

Forenbeitrag von: »Dastan«

[ SFML ] Probleme mit Tasten

Drücke ich die Leertaste einmal -> Sprite soll erscheinen Drücke ich die Leertaste wieder -> Sprite soll verschwinden Ganz einfach oder? Für mich leider nicht. Es ist fasst schon lächerlich aber ich kriegs einfach nicht hin, es ist im Grunde einfach nur ein Logikproblem. Zum besseren Verständnis hier etwas pseudo-Code: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 bool Sprite_Aktiv; if(Leertase == gedrückt && Sprite_Aktiv == false) { //Sprite erstellen und initialisieren Sprit...

01.02.2012, 07:03

Forenbeitrag von: »Dastan«

[ SFML ] Von sf::RenderWindow zu access violation

Zitat Also das Fenster könntest du z.B. in der Game Klasse kapseln und in der Initialisierungsliste oder mittels sf::RenderWindow::Create erstellen Dann brauchste auch keine Zeiger, die dich hier nur vor das Problem stellen, den Speicher am Ende wieder freizugeben. Auch die Sprites könntest du in einer Klasse mit Namen z.B. DrawableObject kapseln, dazu dann noch Sachen wie Positionsangaben usw. . So hab ich es bei meinem letzten SFML Projekt gemacht. Ich hoffe das ich "kapseln" richtig interpre...

30.01.2012, 22:41

Forenbeitrag von: »Dastan«

[ SFML ] Von sf::RenderWindow zu access violation

Zitat Zeig mal etwas mehr Code. Ich greife über eine Get-Funktion darauf zu: C-/C++-Quelltext 1 sf::RenderWindow* GetWindow(){return Window;} (in der .hpp der Klasse) C-/C++-Quelltext 1 2 3 CGame Game; sf::RenderWindow *Window; Window = Game.GetWindow(); (Momentan Testweise in der main) Und darauf folgt die Abfrage der Events. (siehe Oben) Mehr gehört leider im Grunde nicht dazu. Zitat Zack! Seid wann macht man sf::RenderWindow als Zeiger? Ebenso wie die Sprites. Normale Instanzen tun es doch a...

30.01.2012, 21:57

Forenbeitrag von: »Dastan«

[ SFML ] Von sf::RenderWindow zu access violation

Ich schaff es einfach nicht mit sf::RenderWindow in kombination mit Zeigern zu "arbeiten". Ich habe eine Klasse wo das ganze abläuft, in der .hpp hab ich : C-/C++-Quelltext 1 sf::RenderWindow *Window; und in einer entsprechenden Memberfunktion: C-/C++-Quelltext 1 Window = new sf::RenderWindow(sf::VideoMode(800, 600, 32), "SFML Sample Application"); Soweit so gut, nun will ich Beispielsweise in meiner Eventfunktion drauf zugreifen: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sf::Event...

24.01.2012, 06:07

Forenbeitrag von: »Dastan«

SDL_Game [Kapitel12] - Framework überflüssig?

Danke, damit hat sich die Frage im grunde auch schon erledigt. Und danke für den Ratschlag. mfg Dastan

22.01.2012, 18:26

Forenbeitrag von: »Dastan«

SDL_Game [Kapitel12] - Framework überflüssig?

Ich versuche zum Abschluss des Buches, das Beispiel von Kapitel 12 von der SDL auf die SFML anzupassen. Jedoch drängt sich mir schon beim Framework eine Frage auf: Ist das gesamte Ding (Framework.cpp und Framework.hpp) nich vollkommen überflüssig? Bei der SFML muss ich mich über das Doublebuffering, meines überschaubaren Wissens nach, nicht selber kümmern. Das setzen der Auflösung und Farbtiefe kommt mir zu umstädlich und dadurch auch recht unübersichtlich vor, könnte ich das nicht einfach in di...

26.09.2011, 23:23

Forenbeitrag von: »Dastan«

Fragen über Fragen über SFML

Nabend allerseits, Danke für die vielen guten Antworten. Im grunde haben sich mit den Antworten auch alle meine Fragen soweit geklärt. Ich hoffe natürlich noch ein bischen auf den Durchbruch was den Output an bekannten Games angeht. Fröhliches programmieren noch!

25.09.2011, 21:43

Forenbeitrag von: »Dastan«

Fragen über Fragen über SFML

Man kennt ja einige "richtige" Spiele die SDL benützten.Und damit Ihr mich nicht falsch versteht mit "richtig" rede ich nur von bekannten, etwas größeren oder auch kommerziel etwas erfolgreichen Games. ( In Größenordnungen wie Braid,Limbo,Super Meatboy, bla bla ) Naja Krempel den ein Gamer halt einfach kennt. Nur Frage ich mich da wie sieht es da mit dem SFML aus? Irgendwelche bekannten Games? Und wenn nicht, wiso? Zum SFML finde ich auch keinerlei bis sehr wenig Tutorials, Bücher oder andere Hi...

Werbeanzeige