kategoria: Blitz
[#1] [BLITZ] Poruszajace się obiekty po bitmapie migają..
Weźmy prosty przykład, np. bblits.bb2 gdzie w tle mamy jakiś obrazek lub bitmapie na której są kreski i poruszające się shapes..
uzywamy tu komendy BBlit ktora duplikuje tło pod shapem przez co nie pozostawiją one po sobie śladu..
ok.. ale jak zreszta jest wspomniane w komentarzu jak damy pare wiecej tych shapów
nawet 5,6 to już zaczyną oną mrugać jeśli znajda się w górnej części obrazu..

zalecają przykład doublebuffer i komendę QBlit..
no dobra, tylko że QBlit usuwa mi wszytko co jest pod shapem,
czyli wymaże mi bitmapę..

no to jak zrobic zeby obiekty poruszały sie po jakimś obrazku?
probowałem robic swoj double buffer najpier kopiujac czyta bitmapę
i dopiero na nią uzyć Blit, no i jest tak jakbym chciał ale niestety
kopiowanie calej bitmapy zwalnia masakrycznie calosc i obiekty
poruszja sie bardzo skokowo..

da sie to jakoś zrobić? trzeba użyc dualplane, lub sprajtów zamiast shapów?
a może da się jakoś bardzo szybko skopiować bitmapę zeby nie bylo laga..
jakis innych bibliotek uzyć? ale kurcze no nie wierzę zeby sie nie dało
przeciez to podstawy są..

test



Ostatnia aktualizacja: 08.02.2020 02:23:13 przez mateusz_s
[wyróżniony] [#2] Re: [BLITZ] Poruszajace się obiekty po bitmapie migają..

@mateusz_s, post #1

Masz dwie opcje:

1. Nie uzywać double buffera i "ścigać się z wiązką", czyli rysować obraz od góry do dołu na tyle szybko, żeby zdążyć przed wypluciem tych danych na ekran. Ryzykowne, do zrobienia raczej tylko jak masz z góry określone założenia tego co chcesz zrobić. Bo jak na koniec stwierdzisz że coś se jeszcze tam dodasz to nagle się okaże że Twój zgnieciony szybki kod już się nie wyrabia i masz trzaski na ekranie.

2. Użyć double bufferingu. Trzymasz dwa razy w RAMie tło. Buffer frontowy się aktualnie wyświetla, tylni się nie wyświetla i po nim rysujesz. Trik polega na tym żeby nie rysować całej ramki co klatkę bo z tym nigdy nie zdążysz. Musisz zamazywać tłem obiekty na starych pozycjach robiąc małe blity, wielkości samych obiektów.
[#3] Re: [BLITZ] Poruszajace się obiekty po bitmapie migają..

@teh_KaiN, post #2

Najszybciej co mi się udało zrobić to zastąpienie CopyBitmap komendą Block, która ponoć najszybciej blituje coś na bitmapę, nawet jakos to działa
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem