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-20 von insgesamt 209.

Werbeanzeige

30.09.2021, 13:03

Forenbeitrag von: »Patrick Z.«

Tastatureingaben kommen icht im Game an?!

Probier anstatt virtuelle Keycodes, Scan-Codes zu senden. Das bedeutet das Flag "KEYEVENTF_SCANCODE" zu setzen und dann nicht das wVk zu setzen, sondern das Feld wScan. Schau dir dazu am besten vorher mit einer extra Software an, welche Scan-Codes exakt gesendet werden, bei den Tasten die du betätigen möchtest. Hier eine Liste an Scan-Codes, die du als Anhaltspunkt verwenden könntest: http://www.winfaq.de/faq_html/Content/ti…p?h=tip1576.htm Und wie David bereits gesagt hat, die Tasten mit dem Fl...

24.03.2020, 14:02

Forenbeitrag von: »Patrick Z.«

Dead reckoning and Smoothing

I am not sure if I understiod you correctly, but I would use quadratic Bezier curves to generate a composite Bezier curve.

22.03.2020, 10:36

Forenbeitrag von: »Patrick Z.«

C++ und SFML - Schlüsselwort auto durch Datentyp ersetzen

Ich persönlich verwende das auto Keyword nach Gefühl. Es macht definitiv Sinn es dann zu verwenden, wenn einem der Typ egal ist und man die Variable nicht mehr manipulieren muss. Bei structs, enum class und so, die als Einstellungen oder ähnliches dienen verwende ich immer auto. Auch bei riesigen Datentyp Konstrukten mit Templates (z.B ein std::vector<std::map<int, std::string>>) oder bei Iteratoren macht auto auf jeden Fall Sinn, da man sich damit einen Haufen Schreibarbeit. Bei “normalen“ Date...

21.03.2020, 10:51

Forenbeitrag von: »Patrick Z.«

C++ und SFML - Schlüsselwort auto durch Datentyp ersetzen

1.) Warum willst du das Schlüsselwort ersetzen? Um den Code compatibel zu einer älteren C++ Version zu machen? 2.) Wenn du eine halbwegs gute IDE verwendest (z.B. Visual Studio) brauchst du nur mit der Maus über die Variable 'style' fahren und dir wird der Datentyp angezeigt. 3.) Mit einem kurzen Blick in die Dokumentation hättest du dir die Frage selber beantworten können: Laut Dokumentation braucht die Funktion 'sf::Window.create()' als dritten Parameter einen Wert vom Datentyp 'Uint32'

24.02.2020, 06:20

Forenbeitrag von: »Patrick Z.«

SDL Game hat ziemliche FPS-Einbrüche

Kann sein, dass du dein Programm als Debug-Version compiliert hast? Probiers mal als Release-Version.

31.12.2019, 18:45

Forenbeitrag von: »Patrick Z.«

Suche nach Game Engine.

Wenn es dir darum geht, Spiele zu entwickeln, solltest du eine Engine verwenden. Unreal Engine, wenn dir C++ lieber ist. Unity, wenn du C# kannst. Wenn es dir aber darum geht, wie 3D Graphik und Input-Handling funktioniert, kannst du dich mit einer API beschäftigen. Da ist DirectX in Kombination mit dem Buch “3D Spieleprogrammierung von David Scherfgen“ zu empfehlen. Da wird von Grund auf eine Engine (leider ohne wirklicher Physik) und 2 Spiele entwickelt. Einen guten Rutsch ins neue Jahr euch a...

31.12.2019, 17:52

Forenbeitrag von: »Patrick Z.«

Problem bei der Kollision zwischen zwei Objekten SDL2 C++

Es wäre praktisch, den gesamten Code (am besten als geziptes Projekt) hier bereitzustellen, damit man sehen kann, in welcher Reihenfolge CGame::Collision(), CRect::Update() und das Zeichnen der Rechtecke ausgeführt wird. Zuerst einmal noch eine kleine Anmerkung zu deinem Code: Statt C-/C++-Quelltext 1 2 3 4 5 6 vector<CSolid>::iterator it = Solidlist.begin(); for (it; it != Solidlist.end(); it++) { A = it->GetRect(); // Mach was mit A } kannst du auch einfach C-/C++-Quelltext 1 2 3 4 for (const ...

29.12.2019, 18:42

Forenbeitrag von: »Patrick Z.«

C++ | volatile Klasseninstanz [gelöst]

Nein, ich möchte einen Vektor (ob rein float oder mit template überleg ich mir noch) in zwei Interrupt Routinen (die sich nicht gegenseitig unterbrechen) lesen, schreiben und bearbeiten. Dadurch, dass sich die ISRs nicht gegenseitig unterbrechen können, muss ich mich nicht um die atomarität (oder wie man das nennt) kümmern. Das einzige Problem ist, dass ohne volatile der Compiler, die Werte des Vektord zwischen den Funktionsaufrufen nicht neu lädt, und somit eine Änderung, die in einer anderen I...

25.12.2019, 12:09

Forenbeitrag von: »Patrick Z.«

C++ | volatile Klasseninstanz [gelöst]

Ich habs ausprobiert, mit O2 funktoiniert es, aber bei O3 wird die Funktion, in der der atomare Zugriff auf den double buffer stattfindet geinlined, und der Wert wird über mehrere Aufrufe hinweg nicht erneut geladen. Nachdem ich mir nicht sicher bin, ob wir den Code am Ende in O3 kompilieren, würde ich das nicht so machen. Ich bleib inzwischen bei meiner Lösung mit den vielen Operatoren

24.12.2019, 18:03

Forenbeitrag von: »Patrick Z.«

C++ | volatile Klasseninstanz [gelöst]

Die Idee ist zwar gut, geht aber auch nicht, da sobald ich den volatile Zeiger dereferenziere, ist es eine volatile Instsnz, von der ich nur volatile Memberfunktionen aufrufen kann. Und ohne volatile Zeiger ist der Compiler erlaubt auch das dereferenzierte zu cachen. Das tut er auch (getestet mit gcc-arm 6.irgendwas mit Optimierung O2). Und den Zeiger mit const_cast zu vorm lesen/schreiben zu einem non-volatile Zeiger machen ist undefined behaviour. Ps: Frohe Weihnachten

24.12.2019, 12:56

Forenbeitrag von: »Patrick Z.«

C++ | volatile Klasseninstanz [gelöst]

Ich muss die Berechnungen leider in der ISR ausführen, da es sich dabei um eine recht zeitempfindliche Regelung handelt, welche relativ genau mit einer gewissen Frequenz arbeiten muss (hier 100Hz). Deshalb auch das inline, da ich mir dadurch bessere Performance erhoffe (ja, ich weiß, dass das den Compiler nicht wirklich beeinflusst, ob er es jetzt wirklich inlined oder nicht). Man kann beim ARM M3 sehr genau bestimmen, welcher Interrupt welchen anderen unterbrechen darf. Dadurch schaffe ich es j...

23.12.2019, 16:46

Forenbeitrag von: »Patrick Z.«

C++ | volatile Klasseninstanz [gelöst]

Danke für die schnelle Rückmeldung. Das volatile kann ich nicht weglassen, da es einfach bei Mikrocontrollern und Interrupt Routinen nicht anders geht (außer ich hab irgendwas komplett verpast), also muss ich eine Klasse haben, von der ich auch eine verwendbare volatile Instanz haben kann. Ursprünglich habe ich eh nur die Instanz als volatile deklariert, aber von einer volatile Instanz kann man keine non-volatile Memberfunktionen aufrufen (wie bei const), also musste ich alle Operatoren volatile...

23.12.2019, 15:32

Forenbeitrag von: »Patrick Z.«

C++ | volatile Klasseninstanz [gelöst]

Hallo Leute, ich arbeite zurzeit an einem Projekt auf einem Mikrocontroller (ATSAM3x8e / ARM-Cortex M3 Architektur) in C++ und probiere aus, wie gut sich modernes C++ auf Low-Level verwenden lässt. Dabei bin ich auf ein großes Problem gestoßen: Ich habe eine globale Klasseninstanz, auf die von mehreren Interrupts und aus dem Hauptprogramm schreibend und lesend zugegriffen werden kann. Der atomare Zugriff auf diese Instanz ist durch den Afubau des Programms gewährleistet, jedoch muss sie trotzdem...

02.10.2019, 20:32

Forenbeitrag von: »Patrick Z.«

Best Practice für Bit-Flags in C++

Hallo Leute, ich frage mich, wie man folgendes Problem "richtig löst" (bzw. wie ihr es lösen würdet): Ich möchte irgendwie Bit-Flags in C++ verwenden mit folgenden Eigenschaften haben: - Typensicher (keine implizite Konvertierung zu integer Typen) - Es wird er globale namespace nicht mit häufigen symbolen "verschmutzt" (Bsp.: Bei Richtungen soll es zwar Direction::noth geben, aber north alleine trotzdem noch verwendbar) - simple bitweise Operatoren (|=, &=, ^=, ~, !, &, |) - am Ende soll es auf ...

25.12.2018, 19:43

Forenbeitrag von: »Patrick Z.«

[Gelöst] SFML und C# (Probleme mit Call by Reference)

Es war mein Fehler Ich hab gar nicht darauf geschaut, ob nicht eventuell etwas mit meinem Sprite nicht stimmt, und tatsächlich habe ich aus versehen den Konstruktor auskommentiert... Als bitte diesen Beitrag löschen... Hallo, ich arbeite seit kurzem an einem kleinen C# Projekt, und wollte sowohl eine WidowsForms-Fenster als auch ein Fenster für ein kleines 2D "Spiel". Da ich mich bereits mit C++ und SFML auskenne habe ich für dieses 2D Spiel zu SFML.Net gegriffen. (Mir sind keine besseren Altern...

31.08.2018, 17:45

Forenbeitrag von: »Patrick Z.«

Cipher - Crack The Code: ein allumfassendes Rätsel

Ich habe vor kurzem dieses Online-Riddle gefunden. Mich hat es sofort fasziniert, da viel Können rund um den Computer und viel Allgemeinwissen nötig ist. Kenntnisse bezüglich Kryptographie und Steganographie sind vorteilhaft, aber nicht notwendig. Es ist zwar schon seit 2010 online, hat inzwischen aber schon 60 Level und soll noch weiter wachsen. Die Moderatoren des Hilfe-Forums sind nach wie vor aktiv und helfen gerne. Für alle die die Qual der unendlichen Weite der Rätsel auf sich nehmen wolle...

26.03.2018, 10:12

Forenbeitrag von: »Patrick Z.«

UniquePointer Fehler

Zitat von »BlueCobold« Das geht schon, falls MainMenuState von GameState erbt. Das geht aber eben aus dem Theead nicht heraus, ohne sich das Video anzuschauen.

25.03.2018, 22:51

Forenbeitrag von: »Patrick Z.«

UniquePointer Fehler

Hallo, es wäre toll, wenn man etwas mehr Code sehen könnte, ohne das ganze Tutorial anzuschauen. Das ganze kann nicht funktionieren, weil CurrentState vom Typ std::unique_ptr<GameState> ist, du CurrentState aber eine Variable vom Typ std::unique_ptr<MainMenuState> zuweist. Bitte bessert mich aus, falls das totaler Blödsinn war.

23.03.2018, 13:09

Forenbeitrag von: »Patrick Z.«

Unity: Terrain flackert schwarz

Aus Erfahrung mit 3D-Modelling bin ich mir ziemlich sicher, dass zwei Texturen überlappt sind.

18.03.2018, 23:22

Forenbeitrag von: »Patrick Z.«

Jubel, Jubel, Freu, Freu... der glückliche Thread

Ich und ein paar Andere aus Österreich waren gerade bei der FLL-Zentraleuropa-Meisterschaft in Aachen, und wir haben es weiter zum FLL-WorldFestival in Detroit geschafft.

Werbeanzeige