SpriteClass ( 1.3) . TImage . , . , - .
class SpriteClass
private:
TCanvas *SpriteCanvas;
int ImageLeft, ImageTop;
int MaskLeft, MaskTop;
int Width, Height;
public:
void SetSprite(TCanvas *aSpriteCanvas, int aImageLeft, int aImageTop, int aMaskLeft, int aMaskTop, int aWidth, int aHeight);
void Draw(TCanvas *aDrawCanvas, int aLeft, int aTop);
1.3. Spite. h.
( 1.4). SetSprite aImageLeft aImageTop aSpriteCanvas, aMaskLeft MaskTop - , aWidth aHeight - . Draw aDrawCanvas , aLeft aTop - .
void SpriteClass::SetSprite(TCanvas *aSpriteCanvas, int aImageLeft, int aImageTop, int aMaskLeft, int aMaskTop, int aWidth, int aHeight)
{ SpriteCanvas = aSpriteCanvas;
ImageLeft = aImageLeft;
ImageTop = aImageTop;
MaskLeft = aMaskLeft;
MaskTop = aMaskTop;
Width = aWidth;
Height = aHeight;
} void SpriteClass::Draw(TCanvas *aDrawCanvas, int aLeft, int aTop)
{ aDrawCanvas->CopyMode = cmSrcAnd;
aDrawCanvas->CopyRect(Rect(aLeft, aTop, aLeft+Width, aTop+Height), SpriteCanvas, Rect(MaskLeft, MaskTop, MaskLeft+Width, MaskTop+Height));
aDrawCanvas->CopyMode = cmSrcPaint;
aDrawCanvas->CopyRect(Rect(aLeft, aTop, aLeft+Width, aTop+Height), SpriteCanvas, Rect(ImageLeft, ImageTop, ImageLeft+Width.ImageTop+Height));
}
1.4. Sprite.cpp.
. 1.3. MOVEIT.
. . , . - , , . , .
.
1. ?
2. .
3. ?
4. FigureType?
5. ?
6. ?