ВУЗ:
Составители:
Рубрика:
32
list->Items[aZ]=NULL;
list->Delete(aZ);
count=list->Count;
for (int i=aZ;i<count;i++)
{
Items[i]->z--;
if (Items[i]->Visible) Items[i]->Paint();
}
}
}
// Очищает список от всех спрайтов
void __fastcall TSpriteList::Clear()
{
if (list && count > 0)
for (int i = count - 1; i > -1; i--) DeleteSprite(i);
};
// Реализация методов класса списка спрайтов со следом TTracedSpriteList
// Конструктор вызывает конструктор предка и инициализирует поле traceMap
// После имени конструктора через двоеточие вызывается конструктор предка TSpriteList.
__fastcall TTracedSpriteList::TTracedSpriteList(TControlCanvas* const canvas):
TSpriteList(canvas) // Вызов конструктора предка
{
traceMap.Length=ClientRect.Right-ClientRect.Left+1;
for (int i=0;i<=traceMap.High;i++)
traceMap[i].Length=ClientRect.Bottom-ClientRect.Top+1;
}
// Деструктор вызывает очистку списка от спрайтов и вызывает деструктор предка
__fastcall TTracedSpriteList::~TTracedSpriteList()
{
Clear();
}
// Удаляет спрайт слоя aZ из списка и удаляет сам спрайт
void __fastcall TTracedSpriteList::DeleteSprite(int const aZ)
{
((TTracedSprite*)Items[aZ])->TrPoints.Length=0;
TSpriteList::DeleteSprite(aZ); // Вызывается метод предка
}
// Очищает следы спрайтов и вызывает унаследованный метод очистки
void __fastcall TTracedSpriteList::Clear()
{
for (int i=traceMap.Low;i<= traceMap.High;i++)
for (int j=traceMap[i].Low;j<traceMap[i].High;j++)
traceMap[i][j]=false;
TSpriteList::Clear(); // Вызывается метод предка
}
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »