@tukinem, post #1
@teh_KaiN, post #2
@jarek72, post #3
@teh_KaiN, post #2
@tukinem, post #5
@teh_KaiN, post #2
Wytłumaczenie scrollowania po X już jest trudniejsze, nazywa się "corkscrew scrolling" i jak nie w archiwum ScrollingTrick to znajdziesz informacje po tym haśle w necie.
Laik nie zrozumie, ale łatwiej jest krok po kroku wytłumaczyć, kolejno pod jaki adres pamięci jakie liczby powstawiać i jak je wyliczyć sobie. Nie oczekuję gotowca, tylko w miarę możliwości gdyby ktoś wytłumaczył krok po kroku jaką dużą bitmapę stworzyć, jak przesuwać copperem bitmapę, jak działa corkscrew scroll itp.
void scrollVPort(struct ViewPort *vp, WORD dx, WORD dy) { struct RasInfo *ri = vp->RasInfo; DrawInvisibleColumn(ri->RxOffset + vp->DWidth); DrawInvisibleRow((ri->RyOffset - 16) % 512); DrawInvisibleRow((ri->RyOffset + vp->DHeight) % 512); ri->RxOffset += dx; ri->RyOffset += dy; if (ri->RxOffset < 0) { ri->RyOffset--; ri->RxOffset += vp->DWidth; } else if (ri->RxOffset >= vp->DWidth) { ri->RyOffset++; ri->RxOffset -= vp->DWidth; } if (ri->RyOffset < 0) { ri->RyOffset += vp->DHeight; } else if (ri->RyOffset >= vp->DHeight) { ri->RyOffset -= vp->DHeight; } ScrollVPort(vp); }
@Hexmage960, post #7
@tukinem, post #8
Wszystkie te przykłady z podwójnymi rozmiarami bitmap chyba służą tylko do scrolla w jedną stronę, tzn przykładowo w Giana Sisters. Mnie chodzi o scroll w wszystkich kierunkach a'la SuperFrog.
@jarek72, post #9
Wszystkie te przykłady z podwójnymi rozmiarami bitmap chyba służą tylko do scrolla w jedną stronę, tzn przykładowo w Giana Sisters. Mnie chodzi o scroll w wszystkich kierunkach a'la SuperFrog. Myślę, myślę i nie potrafię tego za bardzo zrozumieć.
@teh_KaiN, post #14
@selur, post #13
@teh_KaiN, post #11
No, tylko generowanie całej drugiej bitmapy w 16 klatkach często nie jest możliwe z tego względu, że oprócz tego w klatce musisz zrobić masę innych rzeczy - animować przeciwników, przeliczyć logikę gry itd. Najlepsze rozwiązania są takie, które wymagają tylko odrysowania jednego rzędu/kolumny w tym czasie, wprowadzając minimalny narzut do gry.
@tukinem, post #16
@tukinem, post #16
@teh_KaiN, post #20
@tukinem, post #23
@tukinem, post #19
zajmie w chip ramie 51kB więc ograniczenia raczej żadne
@tukinem, post #26
@teh_KaiN, post #27
@teh_KaiN, post #29