Smooth Motion
10 отговора
304 прегледа
Smooth Motion
Здравейте,
къде ли не питах, къде ли не се рових, понякога си мислех, че съм открил точно това което търся, но в крайна сметка оставах разочарован.
Имам малък опит в програмирането на различни езици. В момента съм се спрял на Делфи и реших да се задържа.
Основно се занимавам с графика и анимация, искам просто да съчетая програмирането с анимацията.
Насочваха ме разни хора към различни компоненти на Делфи, но те не ми помогнаха.
Интересува ме единствено идеята, някое компетентно мнение, относно това, КАК ДА БУФЕРИРАМ ГРАФИЧНИ ФАЙЛОВЕ В ДЕЛФИ ЗА ДА МОГА В ПОСЛЕДСТВИЕ ДА ГИ ВИЗУАЛИЗИРАМ НА ЕКРАНА БЕЗ ДА ИМА ЗАБАВЯНЕ ИЛИ НАСИЧАНЕ ?
В случая става дума за спрайтове, не за Видео файлове. Елементарна анимация, редуване на отделни картинки. От това което чух до момента, става въпрос за някакъв буфер в който се качват всички изображения. Не съм сигурен дали е така. Трябва ли ми отделен компонент ?, писане на много код ?, писане на по-ниско ниво?... моля, насочете ме, ще съм Ви безкрайно благодарен. Ако има дори някаква литература в ИНтернет относно моя проблем и решаването му, ще съм благодарен ако ми дадете адреса.
Благодаря предварително !
къде ли не питах, къде ли не се рових, понякога си мислех, че съм открил точно това което търся, но в крайна сметка оставах разочарован.
Имам малък опит в програмирането на различни езици. В момента съм се спрял на Делфи и реших да се задържа.
Основно се занимавам с графика и анимация, искам просто да съчетая програмирането с анимацията.
Насочваха ме разни хора към различни компоненти на Делфи, но те не ми помогнаха.
Интересува ме единствено идеята, някое компетентно мнение, относно това, КАК ДА БУФЕРИРАМ ГРАФИЧНИ ФАЙЛОВЕ В ДЕЛФИ ЗА ДА МОГА В ПОСЛЕДСТВИЕ ДА ГИ ВИЗУАЛИЗИРАМ НА ЕКРАНА БЕЗ ДА ИМА ЗАБАВЯНЕ ИЛИ НАСИЧАНЕ ?
В случая става дума за спрайтове, не за Видео файлове. Елементарна анимация, редуване на отделни картинки. От това което чух до момента, става въпрос за някакъв буфер в който се качват всички изображения. Не съм сигурен дали е така. Трябва ли ми отделен компонент ?, писане на много код ?, писане на по-ниско ниво?... моля, насочете ме, ще съм Ви безкрайно благодарен. Ако има дори някаква литература в ИНтернет относно моя проблем и решаването му, ще съм благодарен ако ми дадете адреса.
Благодаря предварително !
Re: Smooth Motion
Насочи се към DirectX, или друг пакет за работа с графики. Проблема няма да ти се реши с обикновен компонент. Ще публикувам връзки довечера, можеш да намериш и във форума ако потърсиш.
---
Е т'ва е живот!
---
Е т'ва е живот!
Re: Smooth Motion
Обясни малко по-подробно как точно визуализираш тези графични файлове?
Или това е проблема?
Защото синхронизирането и smooth-а не би трябвало да са проблем. Аз съм го правил както с DirectDraw, така и с Win32 API. Е във втория случай машината трябва да е малко по-бърза, но нещата стават.
Може би наистина ще се наложи да си напишеш нещо сам. Така и ще научиш повече неща.
Времето за разучаване на някакъв чужд компонент (които може да има мнооого повече неща отколкото на тебе ти трябват) понякога е повече от времето за написването на собствен такъв.
---
Не е важно да си добър, важното е да си ман-и-як!
Или това е проблема?
Защото синхронизирането и smooth-а не би трябвало да са проблем. Аз съм го правил както с DirectDraw, така и с Win32 API. Е във втория случай машината трябва да е малко по-бърза, но нещата стават.
Може би наистина ще се наложи да си напишеш нещо сам. Така и ще научиш повече неща.
Времето за разучаване на някакъв чужд компонент (които може да има мнооого повече неща отколкото на тебе ти трябват) понякога е повече от времето за написването на собствен такъв.
---
Не е важно да си добър, важното е да си ман-и-як!
Re: Smooth Motion
Аз ги визуализирам по стандартния начин с Image-контрола.
Редувам отделните картинки с Timer.
Когато имам транспарентност на картинките, насича много.
Редувам отделните картинки с Timer.
Когато имам транспарентност на картинките, насича много.
hummm..tova ne mi se struva...
mnogo hitro......shtoto e "lamersko"......ako iskash she ti dam link za DirectX..no za mene nai-dobroto e DelphiX//mojesh da go namerish v google i ima mnogo primeri iz neta pak i az s tova se zanimavam i sam mnogo dovolen
лесен бърз и ефективен начин който съм изпробвал!
Здравей!
Много лекно мажеш да си решиш проблема ако си направиш картинките на swf
flash фаил и този фаил си го сложиш в приложението като activex control.
Ако на палетата activex нямаш flash инсталирай си го от папката с системните файлове на windows кадето почти сигурно го имаш. За да се гледа трябва потребителя да има инсталеран flash плугин но то кой ли го няма.
Чао!
Много лекно мажеш да си решиш проблема ако си направиш картинките на swf
flash фаил и този фаил си го сложиш в приложението като activex control.
Ако на палетата activex нямаш flash инсталирай си го от папката с системните файлове на windows кадето почти сигурно го имаш. За да се гледа трябва потребителя да има инсталеран flash плугин но то кой ли го няма.
Чао!
Re: Smooth Motion
Мдаа. Както се казва "quick'n'dirty". Ще насича, как няма да насича. Ако метенш едно око на VCL сорса, ще видиш че има бая код, които реализира прозрачността.
Изобщо работата на високо ниво с картинки в Delphi (TImage, TBitmap, TCanvas и прочие) не е много real-time.
Нещата може да се направят много по-добре, може би и без DirectX, но първо кажи в какъв формат са ти отделните картинки и как ги зареждаш/пазиш в паметта?
---
Не е важно да си добър, важното е да си ман-и-як!
Изобщо работата на високо ниво с картинки в Delphi (TImage, TBitmap, TCanvas и прочие) не е много real-time.
Нещата може да се направят много по-добре, може би и без DirectX, но първо кажи в какъв формат са ти отделните картинки и как ги зареждаш/пазиш в паметта?
---
Не е важно да си добър, важното е да си ман-и-як!
Re: Smooth Motion
не си много обстоятелствен та ще ти приказвам за каквото съм разбрал
правиш анимация с редуване /бързо, 1/24 s/ на картинки в TImage.
(какво общо има прозрачноста? нали ЦЕЛИ кадри редуваш?)
буфера е TObjectList с TBitmap-и като елементи, всеки TBitmap е един кадър.
"анимирането" - с таймер, интервала е 42 ms, показваш битмапите един след друг - Object.Canvas.Draw(0,0,BitmapList[currentImage]); например.
особеното е че TImage не е подходящ - refresh/repaint предизвиква мигане, та трябва да "рисуваш" върху canvas-а на формата /или на друг контрол, който има canvas/.
провал съм с картинки 200/200 (24 броя), K6-2 @ 500, съвсем добре си рисува.
ако това е идеята и не си наясно с нещо - питай :-)
--------------------------------------
Започва Път от моят праг...
правиш анимация с редуване /бързо, 1/24 s/ на картинки в TImage.
(какво общо има прозрачноста? нали ЦЕЛИ кадри редуваш?)
буфера е TObjectList с TBitmap-и като елементи, всеки TBitmap е един кадър.
"анимирането" - с таймер, интервала е 42 ms, показваш битмапите един след друг - Object.Canvas.Draw(0,0,BitmapList[currentImage]); например.
особеното е че TImage не е подходящ - refresh/repaint предизвиква мигане, та трябва да "рисуваш" върху canvas-а на формата /или на друг контрол, който има canvas/.
провал съм с картинки 200/200 (24 броя), K6-2 @ 500, съвсем добре си рисува.
ако това е идеята и не си наясно с нещо - питай :-)
--------------------------------------
Започва Път от моят праг...
Re: Smooth Motion
Човека явно пробва да показва Gif - и аз бях правил нещо подобно преди време - имах фон - фиксиран и след това търкаля разни топки (игра ала тото 2) ама проблема е че исках да стане с прозрачност - е не става ;-))) наистина насича особенно ако картинката е голяма - нормално
---
Е т'ва е живот!
---
Е т'ва е живот!
Re: Smooth Motion
Ми защото никой не ми плаща за това ;-))) - съвсем сериозно - това което правих беше само за бъзик, без никакви пари. Графиката ми е интересна, но не ме влече има и други области които са ми по -по силите.
---
Е т'ва е живот!
---
Е т'ва е живот!