Главная страница
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.48 MB
Время: 0.058 c
3-1149238320
jiny
2006-06-02 12:52
2006.08.06
Как программно добавлять/изменять польз.сервера, изменяя им роли


2-1152879733
-=Germe$=-
2006-07-14 16:22
2006.08.06
Вопрос связан с перехватом времени


2-1153049491
spogi
2006-07-16 15:31
2006.08.06
Нумерация


15-1152231748
Жаждущий помощи
2006-07-07 04:22
2006.08.06
Что неправильно?


1-1151057441
Handle
2006-06-23 14:10
2006.08.06
Как вставить текст в Internet Explorer в строку ввода адреса?