ВУЗ:
Составители:
Рубрика:
33
// Реализация методов класса спрайт TSprite
// Конструктор инициализирует поля класса
__fastcall TSprite::TSprite(TRect const rect)
{
location=Point(rect.Left,rect.Top);
size.cx=rect.Width(); size.cy=rect.Height();
image=new Graphics::TBitmap();
image->Height=rect.Height();
image->Width =rect.Width();
z=-1;
}
// Деструктор уничтожает поле image
__fastcall TSprite::~TSprite()
{
delete image;
}
// Устанавливает новое значение поля visible и изображает или убирает спрайт с экрана
void __fastcall TSprite::SetVisible(bool const value)
{
if (value!=visible)
{
if (value)
{
BeginPaint();
Paint();
EndPaint();
} else
{
BeginPaint();
Restore();
EndPaint();
}
visible=value;
}
}
// Директива компилятору #define в данном случае вводит имя sprite
// для выражения ((TSprite*)(spriteList->Items[i])).
// Это укорачивает имя кода последующих методов
#define sprite ((TSprite*)(spriteList->Items[i]))
// Перемещает спрайт на вектор drift в плоскости изображения
bool __fastcall TSprite::Move(TSize const drift)
{
TPoint newPos=Point(location.x+drift.cx,location.y+drift.cy);
bool result=true;
// В этом месте вызывается обработчик события onMove, если он задан
if (onMove) result=onMove(this,newPos);
Страницы
- « первая
- ‹ предыдущая
- …
- 31
- 32
- 33
- 34
- 35
- …
- следующая ›
- последняя »