[#225]
Re: Powstawanie nowej gry w Blitz 2
@tukinem,
post #68
Nie poradzę sobie z kanałem alfa i z maskami w Blitzu.
Nigdy nie robiłem nic w Basicach i programista ze mnie żaden, ale tak z nurtującej ciekawości ściągnąłem sobie tego BB2 i zacząłem kombinować biorąc plik jakiś tutoriala z Githuba, jako bazę do modyfikacji krok po kroku. Po całym dniu walki z tym językiem, krążenia w ślepej uliczce i z niejasną dokumentacją, udało mi się zrobić taki przykład z przeźroczystym spritem (nie mylić z półprzeźroczystym, ale na GH jest przykład z półprzeźroczystością, Earok na GH ma taki przykład jakby kogoś interesowało). Jakbym miał to robić, to wybrałbym C, tutaj z niejasnego powodu, aby zaktualizować grafikę sprite, trzeba ponownie zdefiniować shape i zainicjalizować sprite, tak jakby BB sobie gdzieś go kopiował, byś nie miał do niego dostępu (albo za mało się znam), zajęło chyba ze 3 godziny dojście dlaczego blitowanie na bitmapę stołu działa, a sprite pozostaje niezmieniony. Robienie kanału alfa też okazało się jak na ironię proste z pomocą BlitMode EraseMode, podobno stencil, showstencil i sblit służą do robienia głębi z przysłanianymi obiektami, ale z tego co znalazłem w dokumentacji i niedziałających przykładów nie udało mi się użyć tych metod, ani dowiedzieć dokładnie jak działają, a to właśnie na nich się skupiłem niepotrzebnie.
Przy okazji z tego co wyczytałem, to przy FMODE3 jak masz więcej niż jeden sprite, to musisz zjechać ekranem do 256 pikseli szerokości (nie wiem, czy to ograniczenie blitza), a także grafika dla BLOCK powinna mieć szerokość będącą podzielną przez 16 (cykl blittera).
Ja Block użyłem tylko do kopiowania kulki, a łapki normalnie blitowane przez wolniejszy BBlit. Wycinanie precyzyjnych kształtów w PP mnie dobiło, a skoro zaspokoiłem swoją ciekawość, to już dalej nie brnąłem. Nawet nie ma podwójnego buforowania.
Może komuś taka metoda się przyda, albo posłuży za jakiś materiał edukacyjny (nic tu nie działa prócz przesuwania kulki joystickiem w celu zademonstrowania efektu złudzenia zasłaniania kulki).
projekt blitz
Ostatnia aktualizacja: 19.12.2022 07:03:06 przez san_u