www.pudn.com > StuntJumper.rar > ScrollingBackground.h
//----------------------------------------------------------------- // ScrollingBackground Object // C++ Header - ScrollingBackground.h //----------------------------------------------------------------- #pragma once //----------------------------------------------------------------- // Include Files //----------------------------------------------------------------- #include#include "Background.h" //----------------------------------------------------------------- // Custom Data Types //----------------------------------------------------------------- typedef WORD SCROLLDIR; const SCROLLDIR SD_UP = 0, SD_RIGHT = 1, SD_DOWN = 2, SD_LEFT = 3; //----------------------------------------------------------------- // Background Layer Class //----------------------------------------------------------------- class BackgroundLayer : Bitmap { protected: // Member Variables RECT m_rcViewport; int m_iSpeed; SCROLLDIR m_sdDirection; public: // Constructor(s)/Destructor BackgroundLayer(HDC hDC, LPTSTR szFileName, int iSpeed, SCROLLDIR sdDirection); BackgroundLayer(HDC hDC, UINT uiResID, HINSTANCE hInstance, int iSpeed = 0, SCROLLDIR sdDirection = SD_LEFT); // General Methods virtual void Update(); virtual void Draw(HDC hDC, int x, int y, BOOL bTrans = FALSE, COLORREF crTransColor = RGB(255, 0, 255)); void SetSpeed(int iSpeed) { m_iSpeed = iSpeed; }; void SetDirection(SCROLLDIR sdDirection) { m_sdDirection = sdDirection; }; void SetViewport(RECT& rcViewport) { CopyRect(&m_rcViewport, &rcViewport); }; }; //----------------------------------------------------------------- // Scrolling Background Class //----------------------------------------------------------------- class ScrollingBackground : Background { protected: // Member Variables int m_iNumLayers; BackgroundLayer* m_pLayers[10]; public: // Constructor(s)/Destructor ScrollingBackground(int iWidth, int iHeight); virtual ~ScrollingBackground(); // General Methods virtual void Update(); virtual void Draw(HDC hDC, BOOL bTrans = FALSE, COLORREF crTransColor = RGB(255, 0, 255)); void AddLayer(BackgroundLayer* pLayer); };