Главная страница
    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.012 c
2-1153049491
spogi
2006-07-16 15:31
2006.08.06
Нумерация


2-1153149885
AlexanderMS
2006-07-17 19:24
2006.08.06
Когда лучше начать чтение файла?


2-1151795588
SUN_ALF
2006-07-02 03:13
2006.08.06
Перехват и остановка только что запущенного процесса


2-1153351176
batya17
2006-07-20 03:19
2006.08.06
Закрытие окна


2-1153212810
Pashka.cool
2006-07-18 12:53
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский