Suchergebnisse
Suchergebnisse 1-17 von insgesamt 17.
Hallo, das sollte zwar eigentlich nicht passieren, aber manchmal verstolpert sich der Compiler, so dass ein Modul nicht neu erstellt wird, obwohl es müsste. Ich würde dir empfehlen, das gesamte Projekt einmal neu zu erstellen. Den Befehl dazu müsste es unter Debuggen -> Neu erstellen geben. Dann wird das gesamte Kompilat gelöscht und neu aufgebaut. Gruß
Hallo! Wie hast du das denn umgesetzt? Kann es sein, dass du den Kasten nur in dem Frame anzeigst, in dem Escape gedrückt wurde? Im nächsten Frame ist Escape natürlich nicht mehr gedrückt und der Kasten wird nicht mehr angezeigt. Gruß
Hi, damit habe ich mich auch gerade beschäftigt. Schau dir mal die Funktionen EnumDisplayDevices und EnumDisplaySettings an. Damit kannst du die Auflösungen auf den verschiedenen Devices ermitteln. Gruß
Hi, ich hatte vor kurzer Zeit ein ähnliches Problem. Ich wollte aus einem vector bestimmte Elemente löschen. Das funktionierte auch nicht, weil der Iterator ja ungültig wird. Dazu habe ich remove_if gefunden. In Verbindung mit einem Lambda funktioniert das super, wenn diese Funktion nach der Schleife ausgeführt wird, die bestimmt, welche Elemente gelöscht werden können und diese markiert. C-/C++-Quelltext 1 std::remove_if(liste.begin(),liste.end(),[](Typ t){return t.loeschen;}); Damit wird nicht...
Wie Shapes funktionieren und was sf:hape::Circle macht, ist mir klar. Nur finde ich die Umsetzung tatsächlich etwas seltsam. Natürlich ist es kein Problem, den Kreis bei 0|0 zu initialisieren. Dann werde ich mich damit abfinden, dass sf:hape einfach etwas unschön aufgebaut ist.
Ja, daran hatte ich auch schon gedacht: Zitat Natürlich könnte ich auch alle Objekte einfach an Position 0,0 initialisieren und dann entsprechend verschieben. Aber, wenn das die "richtige" Lösung ist, dann frage ich mich, warum es dieses System mit den lokalen Koordinaten gibt. Denn der Vorteil davon will sich mir nicht erschließen. Dann könnte man es ja auch einfach so machen, wie bei Sprites, wo bei der Initialisierung gar keine Position vorgegeben wird. Kann mir jemand den Nutzen erklären, wa...
Ich habe es genauso, wie es oben zu sehen ist, ausgeführt und hierher kopiert. Der Kreis ist eindeutig unten rechts in der Ecke.
Zitat SetPosition - Positioniert das Drawable (in diesem Fall Shape) an die gegebenen - globalen - Koordinaten. Das tut es eben leider nicht. SetPosition setzt die Position in lokalen Koordinaten. Wie ich jetzt festgestellt habe, wird dabei nur die Verschiebung berücksichtigt. Bei einer Rotation gebe ich dir Recht, dass es sich um die globalen Koordinaten verschiebt. Das ist wirklich sehr verwirrend. Folgendes Beispiel: 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 2...
Danke erstmal für die Antworten. Kann es sein, dass die Funktion SetOrigin ab Version 2.0 die Funktion SetCenter ablöst. Denn in der Doku zu 1.6 (meine Version) finde ich zwar SetCenter, aber nicht SetOrigin (in der Klasse Drawable). In der Doku zu Version 2.0 ist es genau umgekehrt. Und wenn ich mir die Beschreibung so durchlese, finde ich keinen inhaltlichen Unterschied. Ist das nicht ziemlich unklug? Denn jeder, der SetCenter mit 1.6 genutzt hat, wird bei dem Umstieg auf 2.0 viel Änderungsauf...
Hallo zusammen, ich habe mich grade mal daran gesetzt, ein erstes Spiel per SFML zu schreiben (es soll ein simples Pong werden). Dazu habe ich erstmal einen Kreis erstellt, der initial genau in der Mitte des Fensters liegt. Den Kreis habe ich als Shape erstellt. Als ich diesen dann bewegen wollte, bin ich darauf gestoßen, dass die Koordinaten, die die verschiedenen Setter und Getter nutzen, relativ zum Zentrum des Shape liegen. Somit ist z.B. die Kollisionsberechnung sehr unschön, da ich jeweils...
Funktioniert super, danke!
Gibt es denn eine andere, sichere Möglichkeit, herauszufinden, ob der Thread beendet wurde? Eine Variable dafür zu benutzen, die ich am Ende des Threads auf false setze, finde ich nicht so schön. Denn der Thread kann ja durchaus an mehreren Punkten verlassen werden, außerdem muss ich dafür dann noch einen extra Mutex anlegen und entsprechend nachführen.
Hallo zusammen, ich habe ein Problem mit der Funktion boost::thread::joinable(). Ich möchte damit überprüfen, ob ein Thread noch läuft oder ob er beendet ist. Die Doku sagt dazu: "Returns: true if *this refers to a thread of execution, false otherwise." Das "thread of execution" deute ich so, dass es heißt, dass der Thread noch läuft. Das scheint allerdings bei mir nicht zu funktionieren. Ich habe dazu einmal folgendes kurzes Test-Programm erstellt: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13...
Hallo zusammen, ich habe einen Fehler gefunden, der sich durch das gesamte Buch und die Tribase-Engine zieht: Der Operator new gibt im Fehlerfall unter C++ nicht NULL zurück, sonder wirft eine Exception vom Typ std::bad_alloc. Die Überprüfung auf NULL ist also unsinnig. Zwar kann man mit ein paar Tricks auch erreichen, dass NULL zurückgegeben wird, aber da das dann wieder C und nicht C++ wäre, ist das eher unschön. In diesem Zug möchte ich auch einmal anregen, ob es nicht möglich wäre für eine n...
Vielen Dank für eure Antworten! Zitat von »"dot"« DirectShow ist schon lange nichtmehr Teil von DirectX, deswegen wirst du im Sample Browser auch nix dazu finden... DS gehört zum Plattform SDK... Das wusste ich nicht - bisher habe ich auch nur selten mit DirectShow gearbeite. Mittlerweile habe ich mir ein altes SDK runtergeladen. Ich kann die Beispiele zwar nicht kompilieren, aber es hat mir vorerst geholfen. Werde mir dann bei Gelegenheit nochmal die aktuellen Beispiele des PSDK anschauen.
Vielen Dank für die Antwort! Das Neuinstallieren des Codec hat tatsächlich die Probleme behoben. Kannst du mir sagen, wie das Beispiel im DirectX-SDK heißt? Denn ich kann es im Sample-Browser nicht finden.
Hallo zusammen! Ich bin seit einiger Zeit auf der Suche nach einer Möglichkeit eine DVD auf einer Textur abzuspielen. Im Internet bin ich dabei mehrmals auf folgenden Code gestoßen zum Abspielen in einem Fenster. Wollte dann erstmal das ausprobieren, bevor ich sowas besonderen mache: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 CoCreateInstance(CLSID_DvdGraphBuilder,NULL,CLSCTX_INPROC_SERVER,IID_IDvdGraphBuilder,(void**)&m_pDVDGraph); AM_DVD_RENDERSTATUS sRenderStatus; m_pDVDGraph->RenderDvdVideoVolume...