SpriteClass ( 7.7) . 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);
);
7.7. Spite, h.
( 7.8). 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));
}
7.8. Sprite.cpp.
- - (. 7.4). . , , , .
. 7.4. MOVEIT.
, - . , FigureClass, , , . SpriteClass . , : - , - . , , - , Fig [ I ]. SD I- .
|
|
. . , . , , , , : " ?" - , . - , , . ,