Главная страница
    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.016 c
2-1152941687
Urvin
2006-07-15 09:34
2006.08.06
Как прокрутить содержимое ListView


3-1149247881
Iehbr
2006-06-02 15:31
2006.08.06
Не происходит удаление в базе данных ACCESS


15-1152691078
Еж
2006-07-12 11:57
2006.08.06
Умер основатель Pink Floyd Сид Баррет


2-1153402661
Вовка
2006-07-20 17:37
2006.08.06
Как узнать числовое значение CPU Usage (%) ?


9-1132529436
Антибаг
2005-11-21 02:30
2006.08.06
Ньюсгруппа GLScene повисла что ли?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский