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!
Werbeanzeige
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 |
// Funktionsergebnisse HRESULT hr = 0; // Rect setzen RECT SrcRect = {(NumFrame % NumFramesX_) * FrameWidth_, (NumFrame / NumFramesX_) * FrameHeight_, SrcRect.left + FrameWidth_, SrcRect.top + FrameHeight_}; RECT DestRect = {XPos, YPos, XPos + FrameWidth_, YPos + FrameHeight_}; // Clippen if (!(DirectDraw::GetInstance ().ClipRect (&SrcRect, &DestRect))) return; // Surface holen IDirectDrawSurface7 *DDSOffscreen = NULL; DDSOffscreen = Surface::GetInstance ().GetSurface (Filename_); // Sprite rendern hr = DirectDraw::GetInstance ().DDSBack_->BltFast (DestRect.left, DestRect.top, DDSOffscreen, &SrcRect, DDBLTFAST_WAIT | DDBLTFAST_SRCCOLORKEY); if (FAILED (hr)) EXCEPTION (L"IDirectDrawSurface7::BltFast() failed!"); |
Anonymous
unregistriert
Zitat von »"Manuel"«
C-/C++-Quelltext
1 2 3 4 5 // Sprite rendern hr = DirectDraw::GetInstance ().DDSBack_->BltFast (DestRect.left, DestRect.top, DDSOffscreen, &SrcRect, DDBLTFAST_WAIT | DDBLTFAST_SRCCOLORKEY); if (FAILED (hr)) EXCEPTION (L"IDirectDrawSurface7::BltFast() failed!");
Administrator
Anonymous
unregistriert
Zitat von »"Manuel"«
Ich weiß, dass das die Positionsangaben sind, die ja in dem Rect gespeichert sind.
C-/C++-Quelltext |
|
1 |
RECT DestRect = {XPos, YPos, XPos + FrameWidth_, YPos + FrameHeight_}; |
Anonymous
unregistriert
Zitat von »"Manuel"«
Ja, aber der linke Rand gibt doch auch gleichzeitih die X-Position an, oder?
C-/C++-Quelltext
1 RECT DestRect = {XPos, YPos, XPos + FrameWidth_, YPos + FrameHeight_};
Ich speicher das nur darein, damit ich dem Clipper nur 2 Rects anstatt 8 Werte übergeben muss, machts für mich ein bisschen angenehmer
Anonymous
unregistriert
Zitat von »"Manuel"«
So wie ich das immer verstanden hab, markiert ein Rect einen Bereich auf dem Bildschirm, Bitmap, ..., dazu muss ja auch die Position drinnen gespeichert sein, sonst bräuchte man ja keine 4 Variablen sondern nur 2.
Werbeanzeige