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 161.

Werbeanzeige

26.03.2011, 16:52

Forenbeitrag von: »Patrick Egli«

wxWidgets und DirectX 9 Move

Hi Ich wollte einen Editor programmieren mit wxWidgets und DirectX 9. Zu beginn habe ich DirectX 9 initialisiert mit wxWidgets. Das funktioniert einwandfrei. Danach habe ich ein einfaches Dreieck gerendert, dies funktionierte ebenfalls. Dann wollte ich das Dreieck rotieren, doch leider ging das rotieren des Dreiecks nicht. Ich habe eine OnPaint Funktion erzeugt mit einem Parameter von wxPaintEvent. In dieser Funktion habe ich die Render-Funktion des Dreiecks aufgerufen. Hier ein Codeausschitt: C...

18.03.2011, 18:14

Forenbeitrag von: »Patrick Egli«

wxWidgets für VisualStudio 2010 Express

Danke, für den Fix. Diese Seite habe ich allerdings schon besucht gehabt, habe dann aber nicht genau durchgelesen, dann habe ich den ersten Fix genommen. Ich habe nun die Version 2.9.1 in VisualStudio 2010 zum Laufen gebracht. Nochmals danke. LG Patrick

17.03.2011, 20:05

Forenbeitrag von: »Patrick Egli«

wxWidgets für VisualStudio 2010 Express

Hi Ich wollte wxWidgets für VisualStudio 2010 Express installieren. Also habe ich mir die neuste Version von wxWidgets heruntergeladen, wxWidgets 2.9.1. Dann sah ich im Internet, dass es für die 2010 Version von VisualStudio ein spezielles Build-File gibt, wx_msw_vc10. Also habe ich das ebenfalls heruntergeladen. Ich öffnete dann die Datei wx_vc10, somit hat es alle build Dateien in VisualStudio reingeladen. Dann erstellte ich die ganze Projektmappe in der Debug Version. Doch dann kam allerdings...

08.03.2011, 20:58

Forenbeitrag von: »Patrick Egli«

GameStateManager

Ich rendere mit DirectX 9. Ich denke es liegt am Computer. Den bei einem anderen Computer funktioniert es. Muss mal Updates machen denke ich. Aber diese werden ja von Windows automatisch vorgeschlagen, sobald es welche gibt, oder? Den Grafikkartentreiber habe ich nun bereits schon aktualisiert.

08.03.2011, 20:48

Forenbeitrag von: »Patrick Egli«

GameStateManager

Nein, die Sprites werden falsch dargestellt. Man muss relativ genau hinschauen. Die Sprites werden immer wieder anders dargestellt. Auf diesem Bild relativ korrekt, aber nicht ganz, man kann auf der grauen Kugel ein Punktraster sehen. Ich kann gerne ein weiteres Bild hochladen, das deutlicher ist. Auf dem folgendem Bild, kann man auf der blauen Kugel, schwarze Punkte sehen, diese sollten aber nicht sein. <!--splitLinkBegin--><!--splitLinkEnd--><!--noLinkBegin-->ExternesOriginalbildanzeigen(Link)...

08.03.2011, 20:11

Forenbeitrag von: »Patrick Egli«

GameStateManager

Das sind die Originalbilder: <!--splitLinkBegin--><!--splitLinkEnd--><!--noLinkBegin-->ExternesOriginalbildanzeigen(Link)<!--noLinkEnd-->

08.03.2011, 19:59

Forenbeitrag von: »Patrick Egli«

GameStateManager

Nun funktioniert mein GameStateManager. Danke für eure Antworten. Doch nun, wenn ich Sprites rendern will, werden sie zwar gerendert, aber mit komischen Farbeffekten, z.B. mit schwarzen Strichen. Ich habe ein Bild dieser Sprites gemacht: <!--splitLinkBegin--><!--splitLinkEnd--><!--noLinkBegin-->ExternesOriginalbildanzeigen(Link)<!--noLinkEnd--> Hat das auch schon jemand gehabt dieses Problem, oder weiss jemand wie man das beheben kann? LG Patrick

06.03.2011, 12:32

Forenbeitrag von: »Patrick Egli«

GameStateManager

Also ich soll, wenn ich AddSprite aufrufe, die Sprites immer noch gleich im Vector hinzufügen und zusätzlich noch in die GameState Klasse hinzufügen. Oder meinst du die Sprites direkt in die GameState Klasse hinzufügen, und das ganze RenderSystem in der GameState Klasse anlegen?

06.03.2011, 11:03

Forenbeitrag von: »Patrick Egli«

GameStateManager

Hi Ich weiss jetzt nur nicht, wie ich mein RenderSystem mit dem GameStateManager verbinden kann. Also ich kann durch die Device Klasse eine Funkiton AddSprite aufrufen, dieser muss man einen veSprite Zeiger übergeben. In dieser Funktion wird der übergebene Zeiger in einen Vector hinzugefügt. Durch die DrawAll Funktion werden alle Sprites gerendert. Wie kann ich nun mit diesem RenderSystem die Render Funktion des GameState-Klasse benutzen? So sehen die beiden Funktionen aus: C-/C++-Quelltext 1 2 ...

04.03.2011, 11:17

Forenbeitrag von: »Patrick Egli«

GameStateManager

Hi Ich programmierte gestern einen GameStateManager für meine Engine. Dieser Funktioniert auch, doch ich muss sagen, er ist nicht so toll gelöst. Ich habe eine Klasse erzeugt welche zuständig ist für den GameStateManager, diese beinhaltet nicht besonders viel, lediglich vier Funktionen und eine Variable die den aktuellen GameState speichert. Ich habe dann in der Sprite sowie in der Font Klasse eine Funktion namens SetGameState geschrieben. Dieser kann man den gewünschten GameState übergeben. Im ...

02.03.2011, 20:35

Forenbeitrag von: »Patrick Egli«

Kollisionsprüfung stimmt nicht richtig

Wenn das stimmt, dann komme ich nicht richtig draus. Ich will ja die untere rechte Ecke des Sprites definieren. Wenn dann die Position verändert wird, dann wird die PosX verändert, doch die SizeX bleibt immer noch bei m_Width. Kann mir das jemand erklären?

02.03.2011, 20:21

Forenbeitrag von: »Patrick Egli«

Kollisionsprüfung stimmt nicht richtig

Eine gute Idee, danke. Doch dann kann ich meinen SceneManager für die Funktion nicht mehr verwenden. Und der Quellcode wird etwas unübersichtlicher. Ich könnte die Funktion CheckCollision der Sprite Klasse hinzufügen. Dann kann ich das Sprite mit dem übergebenen Paramter überprüfen. ernest7: Aber wenn die Position nicht mehr 0 ist, dann stimmt SizeX nicht mehr. Deine Methode würde nur dann Sinn machen, wenn die Position immer bei 0 wäre. Dann wäre PosX = 0 und SizeX = m_Width.

02.03.2011, 20:11

Forenbeitrag von: »Patrick Egli«

Kollisionsprüfung stimmt nicht richtig

Ich habe die Orthogonale Weltmatrix gewählt. Deshalb ist das nicht zu gross denke ich mal. Es ist ja die Position des Sprites + die Breite oder die Höhe des Sprites. Sollte eingentlich stimmen oder nicht?

02.03.2011, 19:54

Forenbeitrag von: »Patrick Egli«

Kollisionsprüfung stimmt nicht richtig

Aha, also du meinst die Funktion ohne Klasse schreiben. Kann ich auch machen. Ich habe zwei Sprites in die Szene geladen. Und habe darauf eine Kollision beider Objekte geprüft. Die Kollision entsteht schon ziemlich früher als die Sprite sich schneiden. Warum? Ich habe eine Skizze auf dem WordPad gemacht. Das erste Viereck soll das obere Sprite darstellen, die Koordinaten sind angegeben. Und das zweite Viereck das zweite Sprite. <!--splitLinkBegin--><!--splitLinkEnd--><!--noLinkBegin-->ExternesOr...

02.03.2011, 19:37

Forenbeitrag von: »Patrick Egli«

Kollisionsprüfung stimmt nicht richtig

Die CheckCollision Funktion ist aber nur eine Memberfunktion der Klasse veBoundingBox, nicht aber von veSprite. Ich rufe die CheckCollision Funktion in dem SceneManager auf, also ich habe dort eine Funktion namens Check2DCollision(const veBox& Box1, const veBox& Box2). Diese Funktion greift dann einfach, über einen Zeiger auf die Klasse veBoundingBox, auf die Funktion CheckCollision zu. Aber warum ist der Kollisionsbereich nicht richtig?

02.03.2011, 19:24

Forenbeitrag von: »Patrick Egli«

Kollisionsprüfung stimmt nicht richtig

Hi Ich bin daran eine Engine zu programmieren. Momentan bin ich an der Programmierung der Kollision dran. Ich habe eine Klasse namens veBox programmiert, welche für das Speichern der aktuellen Position eines Objektes zuständig ist. Dann habe ich eine weitere Klasse namens veBoundingBox. Diese hat zwei Klassen, eine welche die Kollision auf einfaches schneiden von Vierecken prüft und eine weitere, welche genau auf die Pixelüberschneidung achtet. Eine weitere Klasse namens veSprite ist zuständig f...

26.02.2011, 18:10

Forenbeitrag von: »Patrick Egli«

Liste zeigt keine Elemente an

Hi Ich programmierere zur Zeit eine Sprite-Engine. Die Sprites will ich in einer Liste abspeichern. Man kann im SceneManager die Funktion AddSprite aufrufen, bei der man einen Zeiger auf die Sprite Klasse übergeben muss. Dieser Zeiger wird danach in die Liste eingetragen. Die Funktion DrawAll rendert danach alle Sprites. Durch einen Iterator auf die Liste, kann ich alle Sprite durchgehen und dann kann ich die RenderFunktion der Sprites aufrufen. Doch leider funktioniert es noch nicht ganz. Wenn ...

17.02.2011, 19:48

Forenbeitrag von: »Patrick Egli«

Sprite Engine programmieren

Hi Ich bin daran, eine DLL zu programmieren. Nun wollte ich eine Sprite Engine programmieren. Ich habe bereits einen Vertex- und IndexBuffer initialisiert, sowie die Textur. Leider weiss ich nun nicht genau, wie ich die richtige Grösse eines Sprites bekomme. Mit einem RHW-VertexFormat hätte ich die richtige Grösse, doch dann wäre es nicht sehr optimal um Translationen durchzuführen. Dann müsste ich jedes Mal den Vertex- und IndexBuffer schliessen und wieder öffnen. Wie kann ich nun mit einem XYZ...

05.02.2011, 17:28

Forenbeitrag von: »Patrick Egli«

Daten werden nicht richtig in die Datei geschrieben

Ich habe nun einen Zeiger auf die Vertexstruktur erzeugt. Die Vertexdaten liegen so vor: C-/C++-Quelltext 1 2 3 4 5 6 struct veModelVertex { float posx, posy, posz; float normalx, normaly, normalz; float tu, tv; }; Doch nun gibt es einen Laufzeitfehler, da die Vertices nicht richtig zugeordnet werden können, warum? 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 m_pVertices = new veSModel[m_NumMeshes * m_NumAllVertices]; for(unsigned ...

05.02.2011, 16:58

Forenbeitrag von: »Patrick Egli«

Daten werden nicht richtig in die Datei geschrieben

Ok dann wäre es besser, wenn ich einen Zeiger erzeuge, der auf die Vertexstruktur zeigt. Dieser Zeiger bekommt dann alle Vertexdaten. Muss man eigentlich den Operator [] benutzen, wenn man die Vertexdaten übergibt? Also so: C-/C++-Quelltext 1 m_File.read(reinterpret_cast<char*>(&TempModel.Vertices[v].posx), sizeof(float)); Wenn nicht, dann wäre das einiges besser. Danach funktioniert es auch besser mit der memcpy Funktion.

Werbeanzeige