kategoria: Blitz
[#1] Przesuwanie mapy 2D + "martwe strefy" dla boghatera
Czesc,
dalem to w dziale Blitz bo w tym jezyku chce to wykonac ale naprawde jezyk nie ma tu znaczenia.

Mam RZUT Z GORY na mape i trzy mozliwosci poruszania bohaterem:
1. mapa stacjonarna i tylko hero pomyka gdzie popadnie
2. hero przyklejony jest do jednego punktu a cala mapa sie przesuwa "pod niego"
3. (1) + (2) pomieszane, czyli jest obszar w srodku gdzie hero moze sie przesuwac a mapa nie oraz jest obszar przy krawedziach gdzie hero jest nieruchomy a mapa sie przesuwa

o ile (1) i (2) to pikus o tyle z (3) mam nielada klopot - wiem doskonale ze pewnego dnia sie obudze i zrobie to z biegu ale .. na taki dzien musze poczekac szeroki uśmiech a czekac mi sie nie chce.

Do powyzszego zadania mam jeszcze dwa warunki:
-ten margines boczny gdzie to mapa sie przesuwa jest zmienny i zalezy od zasiegu widzenia bohatera
-sama mapa nie moze miec czegos w rodzaju "czarnego buforu" o szerokosci zasiegu widzenia bohatera dookola czyli pustych kratek (to by znacznie ulatwilo pozycjonowanie ale i powiekszy bitmape i to znacznie)

Sprawe komplikuje komenda BitmapToWindow (czy cos w tym stylu), ktora potrzebuje nastepujacych argumentow:
- sourcex, czyli gdzie zaczynam wycinac bitmape po X
- sourcey, czyli gdzie zaczynam wycinac bitmape po Y
- destx, czyli gdzie zaczynam wklejac bitmape do okna po X
- desty, czyli gdzie zaczynam wklejac bitmape do okna po Y
- width, czyli szerokosc jaka chce wyciac/wkleic
- height, czyli wysokosc jaka chce wyciac/wkleic

ze wzgledu na ostatnie dwa parametry ustawienie "obramowki/bufora" dookola bitmapy byloby naprawde zbawienne/ulatwiajace ale wole tego uniknac.

Teraz najwazniejsze: aktualnie jestem na etapie ogolnej niewiedzy szeroki uśmiech czyli mam w glowie pustke.
Wiem ze nic na sile i jak pisalem wczesniej to samo przyjdzie ale po co czekac szeroki uśmiech

Jesli ktos mam jakies pomysly/doswiadczenie to prosze o podpowiedzi.
Moj hero pamieta oczywiscie swoja pozycje col/row (badz x/y jesli potrzeba) wzgledem mapy ale wydaje mi sie ze chyba musi tez pamietac pozycje wzgledem tego co jest aktualnie wyswietlane?

Dzieki
[#2] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@peceha, post #1

col/row czyli masz przesuwanie skokowe po kaflach, czy ruch płynny?

Przede wszystkim potrzebujesz rozbić sobie problem na mniejsze problemy. Wprowadź współrzędne kamery (zaczepione do środka wyświetlanego obszaru) i niech będą najpierw takie same jak postaci.

Jeśli postać idzie gdzieś, to sprawdzasz jaki jest dystans od kamery - jeśli za duży to przesuwasz ją w kierunku gracza. Tak w każdym kierunku. Wyjście kamery poza mapę możesz zalatwić ifologią: if (cx < pół szerokości ekranu) {cx = pół szerokości ekranu} itd.

Potem od współrzędnych kamery odejmujesz połowę rozpiętości ekranu by wiedzieć od jakiej współrzędnej zacząć malować tło. Masz tu moje bazgroły na szybko w paincie.

Jak mówię zbyt mgliście lub nie wiem o co Ci chodzi to krzycz. ;)



Ostatnia aktualizacja: 12.04.2018 16:44:35 przez teh_KaiN
[#3] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@teh_KaiN, post #2

Hehe, obrazek moze i nie jest najladniejszy ale zrozumialy :)
I dzieki za to naprowadzenie bo ilekroc zabieralem sie za myslenie to rownowczesnie szukalem innego zajecia :) . Teraz mam nad czym pokombinowac.

Tak, system poruszania jest "kaflowy" aczkolwiek samo przesuwanie bitmapy odbywa sie plynnie (8 klatek po 2 piksele i to daje calkiem lagodny efekt ruchu).

Dzieki
[#4] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@teh_KaiN, post #2

No i gotowe :) Dzieki !!
Musialem jednak dolozyc niejaki "bufor" dookola bitmapy bo bez tego caly kod graniczyl wrecz z absurdem , hehe.

[#5] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@peceha, post #4

No i bardzo ładnie to chodzi! Dawaj znać jak utkniesz znowu na czymś.
[#6] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@peceha, post #4

w pytę będzie giera...
tylko teraz tego nie sp...ol :D ;D
chciałbym hemanem pograć
[#7] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@softiron, post #6

Niby pomysl jakis tam mam ale czy kiedykolwiek, cokolwiek z tego bedzie to nie wiem.
Pisze bo sprawia mi to frajde. Teraz, gdy juz zadzialalo przesuwanie to czuje ze bede z miesiac poprawial to co jest zanim rusze dalej.

Tens pomysl co mi w glowie siedzi wymaga niestety kolejnej amigi a takowej nie posiadam - chcialbym by to dzialalo po kablu na polaczonych amigach (najlepiej jakby to chodzilo przez siec bo wtedy 4 graczy da rade wcisnac ale to juz wogole odlegla przyszlosc - chociaz w Hollywood mialem juz dzialajacy prototyp na 2ie osoby przez siec).
[#8] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@peceha, post #4

Bardzo fajnie się to wyświetla OK
[#9] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@peceha, post #7

takie amigowe dead nation :)
[#10] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@peceha, post #4

Xenia? Serio? Xena qrna!

Fajne oświetlenie czy tam pole widzenia :)
Jakaś fizyka poza tym jest?
Takie labiryntówki są zajebiste i mają potencjał - znajdź, przynieś, użyj, otwórz, zabij, przeżyj itp.

To będzie jakiś RPG? :)
[#11] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@Vato, post #10

Diablo... to na bank bedzie Diablo :)
[#12] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@softiron, post #11

Ja myślę, że to będzie wypakowywanie towaru na półki na czas w markecie w niedzielę (sorki w poniedziałek) o godz. 00.01
[#13] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@peceha, post #1

No ta, ja pomysl na gre jakis tam mam ale go nie zdradze szeroki uśmiech bo przez kolejne 20 lat jeszce ktos by mi go podprowadzil i uprzedzil w realizacji.

#10
kurde , faktycznie to byla Xena - o w morde , hehe

Ostatnia aktualizacja: 17.04.2018 18:23:37 przez peceha
[#14] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@peceha, post #7

A nie wystarczy winuae i jego zakładka do obsługi portu szeregowego i równoległego ?
[#15] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@Norbert, post #14

Wyglada na to ze bede musial poswiecic wiecej uwagi temu emulatorowi bo nawet nie wiedzialem ze taka opcja tam istnieje.
Jak taki kabel bedzie wygladal? USB --> szeregowy (ew.rownolegly) ?
[#16] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@peceha, post #15

coś takiego ?
[#17] Re: Przesuwanie mapy 2D + "martwe strefy" dla boghatera

@softiron, post #16

Dzieki.
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