Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
2-1153201225
zorik
2006-07-18 09:40
2006.08.06
использование EhLib


2-1152889248
Megabyte
2006-07-14 19:00
2006.08.06
Компонент ClientDataSet


3-1148858671
x-relax
2006-05-29 03:24
2006.08.06
Поле Time Paradox, SQL запрос


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


2-1152875372
crazy_corpse
2006-07-14 15:09
2006.08.06
ВОПРОСЫ АЛГОРИТМОВ!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский