Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.06;
Скачать: CL | DM;

Вниз

DelphiX Sprite.Dead   Найти похожие ветки 

 
Kirill_   (2005-11-15 22:04) [0]

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


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

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


 
Sphinx ©   (2005-11-15 22:34) [2]

FreeAndNill ??


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

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


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

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


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

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


 
Da Stranger ©   (2005-11-16 14:13) [6]

TObject.Free ??


 
Bogdan1024 ©   (2005-11-16 17:54) [7]

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

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

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


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

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


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

Вот, вроде такого работает:
...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;


 
Cash ©   (2005-11-23 15:58) [10]

Для 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[...]?

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



Страницы: 1 вся ветка

Текущий архив: 2006.08.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.054 c
2-1152715492
Denissoft
2006-07-12 18:44
2006.08.06
WinAPI


8-1139496503
guitarist
2006-02-09 17:48
2006.08.06
Заполнение Canvas цветами от синего к красному


15-1152294495
palva
2006-07-07 21:48
2006.08.06
Сильвио Берлускони предстанет перед судом


3-1149175290
Still Swamp
2006-06-01 19:21
2006.08.06
Как в IBStoredProc1 сделать Open?


1-1150393322
Urvin
2006-06-15 21:42
2006.08.06
Цвет выделения в ListView