Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DoCollision B DelphiX [Delphi, DelphiX, Windows]


Страницы:   1 2 3 4 5 6 7 8 9 10

Аццкий_рыцарь:) ©   (2005-12-29 14:07:00) 

когда спрйт анимируется, то DoCollision происходит только на первом его кадре. А мне нужно что б на всех кадрах происходило колижн ХЕЛП!


JUS   (2006-02-13 22:11:00) [1]

Jus 99% ! :)


Аццкий_рыцарь:)   (2006-01-19 23:42:00) [2]

Shirson

100% !

Cash

тоже 100% :)


Cash   (2006-01-19 17:46:00) [3]

Ну вот! разобрались.
Пока эта века еще не забыа и брошена надо бы ее экземпляр на винт кинуть!
:)))


Shirson   (2006-01-19 17:36:00) [4]

Как всё просто оказывается :)


Аццкий_рыцарь:)   (2006-01-19 16:38:00) [5]

УРЯ! пашет, как по маслу! ваще нет глюков! теперь жирок такой! на полу полно трупов буквально за 20 сеунд игры, а ты топчешся по ним :)


Shirson   (2006-01-19 16:33:00) [6]

Ааа... Я просто спрайтами не пользуюсь, поэтому меня Image и смутило.


Cash   (2006-01-19 15:37:00) [7]

Shirson ©   (19.01.06 14:02) [182]:
Неее. Там же обработка из под формы происходит,
а сам дохлый козел (смешно получилось:) в качестве параметра.
А козел, Subj тобишь - это TAnimedSprite (по моему этот класс так
называется).


Shirson   (2006-01-19 14:02:00) [8]

P.S. Cash, а тут Subj.[b]Image[/b].Draw не лишниее?


Shirson   (2006-01-19 14:00:00) [9]

Угу, оно самое.
PatternSurfaces[0], чтобы не вводил в заблуждение, это первая поверхность последовательности, которая организуется при раскадровке.
Т.е. если в Item грузить картинку и задавать высоту и ширину кадра, то картинка разбивается на эти кадры, для удобства анимации.
Если разбики на кадры нет, то считается что он всего один и доступ к поверхности идёт через PatternSurfaces[0].
Это так, на всякий случай. Если не понятно - не нужно забивать в голову, оставим на потом


Cash   (2006-01-19 13:54:00) [10]

Аццкий_рыцарь:)   (19.01.06 13:48) [177]:
Дело шло про следующую команду

procedure TForm1.DrawKozelDeath(Subj: TKozel);
begin
  Subj.Image.Draw(DXImageList1.Items.Items[9].PatternSurfaces[0],
                Subj.X,Subj.Y,Subj.AnimC ount-1);
end;


Shirson   (2006-01-19 13:53:00) [11]

Аццкий_рыцарь, DXImageList это, грубо говоря, организованный набор Surface. Каждая из которых позволяет копировать себя на другую Surface, с применением всяческих эффектов, вроде прозрачности, альфа-канала, затенения и пр.
Т.к это всё Surface, можно на прямую копировать изображение из одного Item в другой.


Shirson   (2006-01-19 13:50:00) [12]

Cash, да ничего, бывает :)


Аццкий_рыцарь:)   (2006-01-19 13:48:00) [13]

Э я наверное тоже тупой... еще тупее Cash :) я че-то непойму про что был базар в 175 :)


Cash   (2006-01-19 13:46:00) [14]

Shirson ©   (19.01.06 13:41) [175]:
Вот я тупой то а!
Полез в какието дела с канвой, когда там прямо на поверхность текстуры
штопать можно!!! И с альфой!!! И быстро!!! И главное - просто, вызвав
одну процедуру! Sorry одним словом, память дырявая! :(


Shirson   (2006-01-19 13:41:00) [15]

В конце концов, можно делать DXImageList.items.find('kozel').draw(DXImageList.items.find('Background').PatternSurfaces[0],.... и так далее


Cash   (2006-01-19 13:41:00) [16]

antonn ©   (19.01.06 11:57) [169]:
Не, так не получится. По девятому индексу (в девятке типа) лежит
DelphiX текстура, в которой из рабочих и для канвы -
только Graphic: TGraphic! Поэтому пришла идея перебить ее буфер,
а потом работать с буфером. Вот! Елки палки, а ведь на омеге все проще,
там изначально с битмапом работа идет.

Аццкий_рыцарь:)   (19.01.06 12:37) [170]:
А вчем глюки то? Если только в медленности - можно забить, более
производительность этого кода можно повысить только с Антоновой
процедурой. А если что не то, то надо действительно посмотреть код.
А r можно вообще убрать, [160] пост.


Shirson   (2006-01-19 13:36:00) [17]

400б/с это по-взрослому :)

Ладно, тогда так.
У items, из которых стостоит DXImageLis, есть метод Draw(Alpha), который рисует картинку из этого item на поверхность.
Создаёшь дополнительную поверхность, на которой будешь "хранить" трупы.
При смерти "козла" или кого уж там, рисуешь на эту поверхность очередной труп.
В цикле таймера, копируешь кладбищенскую поверхность на главную.
Вот и всё, собственно...


Аццкий_рыцарь:)   (2006-01-19 13:08:00) [18]

Shirson на DelphiX (шоб его!), ты прав :) я ща на диалапе, еще и скорость передачи 400 байт\с :) че-то эти холода наверное натворили с проводами :) перемерзли наверное :)


Shirson   (2006-01-19 13:05:00) [19]

Аццкий_рыцарь, ты это всё через DelphiX делаешь? Тогда зачем канву мучать? Или я чего-то не понимаю :)

Выложи свой код, посомтреть хочется, может чего подскажу.


Аццкий_рыцарь:)   (2006-01-19 12:37:00) [20]

antonn

пытались, но нифига неполучилось :(

кстати я тут все снова учел что написали и всеравно глючит :(

я даже r пытался поставить в OnCreate формы, но от глюков это не избавило :(


Страницы:   1 2 3 4 5 6 7 8 9 10

Наверх

Титульная страница Поиск, карта сайта Написать письмо