JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=becec94c8c29a2e53d43f00b7098114fMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

MousePosition
Gehe zu Seite Zurück  1, 2, 3
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 30.03.2003, 13:13    Titel: Antworten mit Zitat

Hmm...hier bin ich ratlos. Neutral
Aber zeig doch mal den Code deiner Renderfunktion. Ich glaub zwar nich, dass der Fehler dort liegt, aber lieber einmal zu viel Bugs suchen als einmal zu wenig.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 30.03.2003, 14:23    Titel: Antworten mit Zitat

Hier is meine Renderfunktion:

Code:

void Render(void)
{
   char MouseCoords[100];

   DDraw.Clear(0);
   
   LPDIRECTDRAWSURFACE7 lpDDSurface;

   lpDDSurface = DDraw.CreateSurfaceFromBitmap("entwurf.bmp",60,50);

   DDraw.GetBuffer()->BltFast(x, y, lpDDSurface, NULL, DDBLTFAST_WAIT);

   thisTime   = timeGetTime();
   elapsedTime = thisTime - lastTime;
   lastTime   = thisTime;

   FrameCount++;

   Time = thisTime - FrameTime;
   
   if(Time > 1000)
   {
      Frames     = (FrameCount * 1000) /  Time;
      FrameTime  = thisTime;
      FrameCount = 0;
   }

   char Frame[30];

   sprintf(Frame, "FPS: %-4d", Frames);

   SrcText(DDraw.GetBuffer(), 0,0,Frame,CalcColor(0, 255, 255));

   sprintf(MouseCoords, "X: %-4d Y:%-4d", MouseX, MouseY);
   
   SrcText(DDraw.GetBuffer(), 650, 0, MouseCoords, CalcColor(0, 255,255));

   DDraw.Flip();
}


Die Funktion SrcText is von mir und schaut so aus:

Code:

void SrcText(LPDIRECTDRAWSURFACE7 lpDDSurface, int x, int y, char* text, int color)
{
   HDC hDC;

   lpDDSurface->GetDC(&hDC);

   SetBkMode(hDC, TRANSPARENT);
   SetTextColor(hDC, color);

   TextOut(hDC, x, y, text, strlen(text));

   lpDDSurface->ReleaseDC(hDC);
}


An SrcText scheint es aber nicht zu liegen, da ich auch einmal versucht habe das ganze ohne diese Funktion zu machen, und da gings auch. Bei den Frames funktioniert sie übrigens auch.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 30.03.2003, 15:37    Titel: Antworten mit Zitat

Du hast ja eine Funktion geschrieben mit dem Rückgabewert der Mausposition.
Code:
int GetMouseX(void) { return m_iMouseX; }

In der Renderfunktion deklarierst du ein char Feld (MouseCoords) in das du mit sprintf die Variablen MouseX und MouseY kopierst.
Doch wo weist du diesen beiden Variablen den Rückgabewert der GetMouseX- und GetMouseXfunktion zu Question
Der aktuelle Wert ist zwar in m_iMouseX und m_iMouseY gespeichert, aber MouseX und MouseY enthalten so immer den gleichen Wert.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 31.03.2003, 13:53    Titel: Antworten mit Zitat

Klar, hab ich vergessen. Hab eine andere Funktion:

Code:
void DInputEnter(void)
{
        MouseX = DInput.GetMouseX(void);
        MouseY = DInput.GetMouseY (void);
       
       ...
}


Hab jetzt mal das ganze ohne DInput ausprobiert, also über die Callback. Da hat das ganze auch nicht funktioniert. Ist also auch immer gleich geblieben.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 31.03.2003, 14:48    Titel: Antworten mit Zitat

Debugge doch das ganze mal von vorne bis hinten durch(an DirectInput scheints ja nich zu liegen) und prüf mal, welche Variablen wann auf welchen Wert gesetzt werden. Vielleicht kommst du so auf den Fehler. Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 47
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 31.03.2003, 15:14    Titel: Antworten mit Zitat

Wenn sonst gar nix mehr hilft, schicke es mir einfach.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 03.04.2003, 16:20    Titel: Antworten mit Zitat

@Christian:
Vielen Dank fürs durchschauen des Quelltextes.

@allen anderen:
ebenfalls danke.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 03.04.2003, 17:01    Titel: Antworten mit Zitat

Habt ihr den Fehler gefunden?
Also mich würds interessieren!
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 04.04.2003, 11:52    Titel: Antworten mit Zitat

So weit ich das überrissen hab lag der Fehler in der DDrawklasse, aber so ganz weiß ichs auch nich. Was war da der eigentlich Hauptfehler, Christian???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 47
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 04.04.2003, 15:45    Titel: Antworten mit Zitat

Hi,

das Hauptproblem war, dass du den Text zum falschen Zeitpunkt ausgegeben hast. Sowas macht man am besten immer an einer Stelle. Ansonsten kann es passieren, dass man in einen Buffer ausgibt, der gerade nicht mehr aktuell ist/schon nicht mehr angezeigt wird.
Das zweite Problem war, dass du bei jedem Durchlauf ein neues Surface angelegt hast (und das auch nie zerstört hast). In dem Fall hat es gereicht, wenn es einmal erstellt wird, da es ja sowieso immer die gleiche Bitmap war. Das dritte Problem war, dass du die DD-Objekte in der falschen Reihenfolge frei gegeben hast. Dadurch kam es zumindest bei mir zu einem Absturz beim Beenden des Programms.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 04.04.2003, 16:06    Titel: Antworten mit Zitat

Ich dachte auch schon, dass es daran liegen könnte, dass die Koordinaten nicht richtig ausgegeben oder aktualisiert werden.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 04.04.2003, 17:42    Titel: Antworten mit Zitat

Stimmt. Bei mir ist er auch immer am Programmende abgestürtzt. Zumindestens als ich noch an den Partikelklassen gearbeitet habe, dich ich jetzt aber wegen übersichtlichkeitsproblemen aus dem Projekt verbannt habe.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2, 3
Seite 3 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum