Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DelphiX Sprite.Dead [Delphi, Windows]


Kirill_ ©   (2005-11-15 22:04:00) 

Привет! Как мне убить спрайт если у меня их 6?


Cash   (2005-11-23 15:58:00) [1]

Для DelphiX достаточно же написать это:


var
 i: integer;
begin
 i:=0;
 while i < DxSpriteEngine.items.Count do begin
   DxSpriteEngine.items.item[i].dead;
   inc(i);
 end;
 DxSprite.dead;
end;


Это все спрайты удалит.

Я DelphiX подзабыл, там в DxSpriteEngine сразу items[...] или всетаки есть потомок от TList: Items, а потом items[...]?

Поправьте меня, если что не так.


MonoLife   (2005-11-19 03:58:00) [2]

Вот, вроде такого работает:
...Var i: integer;
begin
 mTimer.Enabled:=False;
while SprFrag.Count<>0 do
 begin
  for i:=0 to SprFrag.Count-1 do
   if SprFrag.Items[i]<>nil then
    begin
     SprFrag.Items[i].Dead;
     SprFrag.Items[i].Destroy;
    end;
 end;
 Monster:=nil;
end;


MonoLife   (2005-11-19 03:15:00) [3]

Всё же, и у меня такой вопрос возник, когда я попытался дестроить спрайты, примерно таким методом:
в цикле Sprite.Item[i].dead
           Sprite.Item[i].destroy
вроде бы  Sprite.Сount = 0. Затем, циклом создаю методом create новые спрайты и вот тут-то начинается...вплоть до вылетв нафиг ХР, что редко бывает. А ведь первый раз при загрузке в этом же списке спрайты нормально создаются и рендерятся.
Как же правильно убить и создать спрайт? Убить так, что б его дохлая копия не сидела в памяти...


Bogdan1024   (2005-11-16 17:54:00) [4]

Потом когда написал

sprite1.dead;
sprite2.dead;
sprite3.dead;
sprite4.dead;
sprite5.dead;
sprite6.dead;

нужно движку сказать чтобы удалил всё мёртвое
Вроде SpriteEngine.ProcessDead или как-то так, забыл уже.


Da Stranger   (2005-11-16 14:13:00) [5]

TObject.Free ??


Kirill_   (2005-11-16 13:01:00) [6]

У меня выходит конитель в этих процедурах(dead, destroy), а друго есть способ?


Unsigned   (2005-11-16 00:44:00) [7]

sprite1.dead;
sprite2.dead;
sprite3.dead;
sprite4.dead;
sprite5.dead;
sprite6.dead;


Kirill_   (2005-11-15 23:00:00) [8]

Пожалуйста поподробней


Sphinx   (2005-11-15 22:34:00) [9]

FreeAndNill ??


Kirill_   (2005-11-15 22:08:00) [10]

Ну всмысле, у меня     TPl = class(TImageSprite)6 штук


Наверх

Титульная страница Поиск, карта сайта Написать письмо