![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопросы по DelphiX [Delphi, Windows]
Grouzd[E]v © (2004-07-17 10:59:00)Здравствуйте, вел.и.уж. Мастера!
Я уже заканчиваю свой первый проект (МОЯ ИГРИЩЩА!извините, не удержался) и столкнулся с такой проблемой (DelphiX) :
1) При анимации летящих патронов больше половины игнорируют Collision и "пролетают"
2) Как узнать у анимированного спрайта закончилась-ли анимация и можно-ли удалить спрайт (взрывы) - ну не подбирать-же вручную, к тому же у меня спрайтов много.
3) Туго со шрифтами: стандартные плохонькие, а чужие совать стыдно, unrespect да и вообще побьют. Как сделат свои? Resource Workshop? А как?
Megabyte-CeerCop (2004-07-28 06:03:00) [1]Для полноценной анимации спрайтов в DelphiX конечно возможностей маловато, но после небольшой доработки это возможно (Киркоп сделан полностью в ДИксСпритеЕнгине и бегает неплохо). Collision я кстати некогда вообще не использовал, это слишком некрасиво, взрывать снаряда при малейшем касании с героем. Нужно пропускать внутрь героя хотябы до половины.
Мой совет всем:
If ((abs (Xhero - Xbomb)) < 20) and
((abs (Yhero - Ybomb)) < 10) Then B-o-o-o-m!
// тоесть если координаты X различаются не более чем на 20, и координаты Y не более чем на 10 то спрайты эть столкнулись (допусками можно варьировать в зависимости от размеров спрайтов)
А ПиксельЦчекк - это глюк. (Не в билиярд иргам).
lyeh (2004-07-28 05:06:00) [2]2 Grouzd[E]v
> МОЯ ИГРИЩЩА!
ИГРИЩЩА будет тогда, когда будешь хотя бы ПикселЧек "вручную" делать. И вообще, реализация спрайтов в DelphiX - ну смешно просто...
OSokin (2004-07-26 21:45:00) [3]Попиксельно функцией типа for x:=0 to width do for y:=0 to height do result.pixels[x,y]:=scr.pixels[width-x,height-y];
Cash (2004-07-20 13:48:00) [4]1) При создании анимированного спрайта (или там, где надо) PixelCheck:=true; надо вызывать.
grouzd[E]v (2004-07-19 16:31:00) [5]Неа. Вся фишка в том, что и игрок и враги имеют СОВЕРШЕННО ОДИНАКОВОЕ ОРУЖИЕ а перерисовывать каждый вид "ручками" плохо - оружия должно быть много. Кроме того я говорил не о перевороте спрайта а о перевороте картинки спрайта
Falcon(TFSoft) (2004-07-19 14:37:00) [6]Мне кажется неплох будет вариант, с использованием прирощений по осям, тоесть.
Спрайт двигался со скоростями dx dy по соответствующим осям, после столкновения меняеш знаки на противоположные..
Хотя этот приём не охватывает все варианты ...
grouzd[E]v (2004-07-19 14:29:00) [7]Еще один вопрос: как можно "отразить" sprite (то бишь где было лево станет право) если использовать angle то изображение получится "вверх ногами".
grouzd[E]v (2004-07-18 14:45:00) [8]Falcon(TFSoft) :
1) странно, я вроде и с pixelcheck и в true и в false эксперементировал, ну да пес сним, спасибо!
2)
3) если кому надо - trial font creator program 4 тут (классная вещь для фонтов): http://www.high-logic.com/fcp4setup.exe, но весит, зараза, 4,5mb и работает только месяц
ps скоро собираюс выкинуть то что получается - скроллер сбоку с гм.. нестандартным управлением...
Falcon(TFSoft) (2004-07-18 06:44:00) [9]На счёт анимированных пуль, то я с этим тоже сталкивался... Сделал специально отдельную форму, с одним анимированным спрайтом и простым, которым управлял с клавиатуры. После чего понял, что колюжен не происходит при Sprite.AnimPos<>Sprite.AnimStart. Другими словами колюжен происходит лиш в первый кадр анимации, а дальше нет.
Но всё это будет не работать лиш при включённом PixelCheck
Если его отключить, то колюжен с анимированным спрайтом будет происходит при любой позиици анимации.
К стате на счёт удаления спрайта после взрыва - в процедуре OnMove проверяй если AnimPos=AnimCount then Self.Dead
Это сугубо моё мнение...
OSokin (2004-07-17 21:41:00) [10]Точно!
MANGOL (2004-07-17 20:48:00) [11]а может слишком большое смещение у пулек и они насквозь пролетают, так шта и колизин правильно работает и в то же время ничё не работает..
OSokin (2004-07-17 20:27:00) [12]Про колижн: а ты уверен, что они действительно соприкасаются?
\m/ (2004-07-17 19:47:00) [13]так сделай 36 файлов
Красный молоток (2004-07-17 19:16:00) [14]1)А у тебе случаем не PixelCheck столкновение?
3)хы
Grouzd[E]v (2004-07-17 17:05:00) [15]to \m/: а в моем можно было создавать .fnt, но у меня в файле только один символ получался, а другой создаваться отказывается
to Красный молоток:
1) он слишком длинный, но вообще я сам допер, что можно использовать 2 класса - 1-й для картинки с анимацией, а 2-й для collision'а, но что-то больно муторно получается, вот и хотел узнать как можно проще
2) пасиба
3) хе-хе, значит гугль говоришь? да искал я там, а так думал, может что стандартное имеется
Красный молоток (2004-07-17 12:14:00) [16]1. Код. Надо код показывать
2. Смотри ImageSpirte.Anim<xxx>
3. use google, luck :)
(2004-07-17 11:11:00) [17]Удалено модератором