|
Mapa |
| Autor |
Wiadomość |
Damian
Kapral
 
Posty: 18
181 Prestiż
|
Wysłany: 21-01-2006, 13:46 Mapa
|
|
|
Ok! Jak zrobić mape RTS w TGF.
Czyli mniej więcej:
1. Jak zbuduje budynek to jakaś zielona kropeczka pokazuje się na mapie.
2. Jak porusza się jakiś ludek to kropeczka porusza się na mapie.
Chyba każdy wie o co chodzi. |
_________________ Złodziej Enginów rulez! |
|
|
|
 |
bmatrix
Starszy sierżant
 
Główny edytor: 
Pomógł: 4 razy Posty: 204
2055 Prestiż
|
Wysłany: 21-01-2006, 14:04
|
|
|
W lewym górnym rogu ekranu zrób obiekt aktywny (lub obiekt tła) o wielkości 10 razy mniejszej niż pole gry. Więc jeśli pole gry ma 500,500 px to ta "mapka" ma mieć 50,50 px. Następnie utwórz kropkę (kropki) która będzie imitowała odpowiedni obiekt. Później tylko kod:
pl:
Kod: | Zawsze>>Ustaw pozycję X "Kropka" na pozycję X "Gracz"/10 ; Ustaw pozycję Y "Kropka" na pozycję Y "Gracz"/10 |
eng:
Kod: | Always>>Set position X "Kropka" to position X "Gracz"/10 ; Set position Y "Kropka" to position Y "Gracz"/10 |
Oczywiście zamiast "/10" może być inna liczba np. "/15" ale wtedy rozmiar mapki musi być także 15 razy mniejszy od rozmiaru okna gry. Jeśli będziesz chciał aby mapka nie przylegała do lewego górnego rogu ekranu gry tylko np. będzie kilka pikseli od rogu to będziesz musiał pokombinować z dodaniem do kodu znaków "+" i "-". Jest to najprostszy sposób robienia mapy, który mieści się w jednym zdarzeniu, istnieją lepsze ale mam nadzieję że ten cię zadowoli. Jakby co, to pisz na gg. |
|
|
|
 |
Damian
Kapral
 
Posty: 18
181 Prestiż
|
Wysłany: 21-01-2006, 14:38
|
|
|
| Hmmm... wiesz co. Przydałny się przykład. |
_________________ Złodziej Enginów rulez! |
|
|
|
 |
bmatrix
Starszy sierżant
 
Główny edytor: 
Pomógł: 4 razy Posty: 204
2055 Prestiż
|
|
|
|
 |
Damian
Kapral
 
Posty: 18
181 Prestiż
|
Wysłany: 21-01-2006, 15:00
|
|
|
Ale ja mam problem. Zrobiłem sobie tak, że przesuwam ekran jak zwykle w RTS.
A jak przesuwam to kropeczki uciekają z tej mapki. Pojawiają się dopiero w tedy jak ekran będzie w lewym górnym rogu. A ja chcę, żeby w ciąż były na mapce. |
_________________ Złodziej Enginów rulez! |
|
|
|
 |
bmatrix
Starszy sierżant
 
Główny edytor: 
Pomógł: 4 razy Posty: 204
2055 Prestiż
|
Wysłany: 21-01-2006, 15:02
|
|
|
| Hmmm.... w takim razie większy problem. Spróbuję coś skombinować chociaż nie wiem czy coś wymyślę. Wydaje mi się że Tasmpol napisał arta o mapkach.. zreszta spytam. |
| Ostatnio zmieniony przez Minty 24-08-2013, 13:59, w całości zmieniany 1 raz |
|
|
|
 |
AlexJ
Plutonowy
 
Pomógł: 2 razy Posty: 86
2018 Prestiż
|
Wysłany: 21-01-2006, 15:19
|
|
|
A tu przykład do mapki z przewijaniem ekranu:
http://rapidshare.de/file...d_mapa.gam.html
Może nie jest przewijanie jak w RTS, ale to nie gra roli, możesz zrobić sobie takie jak w RTS i będzie ok też, tylko pamiętaj, aby nie przesunąć mapki!
Problemy rozwiązane, lecz nie wiem jak zrobić, alby przy tworzeniu nowego domku był odpowiednik jego... Da się tak zrobić, ale bez przewijania ekranu, bo tu trzeba dodawać odstęp mapki od okienka. Chyba się nie da niestety z przewijaniem...
Należy mi się pomógł, nie?
PS. Przykład też mi się przydał, bo sam robię rtsa, ale mam przewijanie i nie wiem sam jak zrobić z tymi domkami i przewijaniem... |
|
|
|
 |
michal.10
Starszy sierżant Club to Death Angel
 
Główny edytor: 
Drugi edytor: 
Pomógł: 1 raz Posty: 180
2376 Prestiż
|
Wysłany: 21-01-2006, 16:31
|
|
|
Rozszerzenie "Minimap" do MMF'a RLZ :!: :badgrin: :badgrin: :badgrin:
A do obliczeń Bmatrix'a styknie 1 modyfikacja :
Always - Set X "kropka" to := X ("Mapa") + X("Objekt_który_ma_być_na_mapie")/ Skala naszej mapy. (Tj. jak mamy plansze 2000px na 2000px, a mapa jest 100 x 100, to będziemy dzielić przez 20 )
I tak samo z Y |
_________________ "Nić życia jest mieszanym włóknem, dobro i zło przewijają się razem."
"Nie kocha się za, kocha się pomimo, że..." |
|
|
|
 |
Damian
Kapral
 
Posty: 18
181 Prestiż
|
Wysłany: 21-01-2006, 19:38
|
|
|
Dzięki wszystkim. Wyszło mi prawie pięknie. Z resztą sam sobie poradzę.
Koniec tematu. |
_________________ Złodziej Enginów rulez! |
|
|
|
 |
michal.10
Starszy sierżant Club to Death Angel
 
Główny edytor: 
Drugi edytor: 
Pomógł: 1 raz Posty: 180
2376 Prestiż
|
Wysłany: 21-01-2006, 19:42
|
|
|
Powiem to, zanim admin zauważy twój post... Daj pkt pomógł i napisz, że temat rozwiązany, bo może być cienko... |
_________________ "Nić życia jest mieszanym włóknem, dobro i zło przewijają się razem."
"Nie kocha się za, kocha się pomimo, że..." |
|
|
|
 |
AlexJ
Plutonowy
 
Pomógł: 2 razy Posty: 86
2018 Prestiż
|
Wysłany: 22-01-2006, 13:34
|
|
|
A ja walczę do końca!
Tu masz przykład mapy z przewijaniem ekranu, budowaniem domków i ludkami oraz sobą:
http://rapidshare.de/file...d_mapa.gam.html
Niestety w TGF'ie chyba się nie da zrobić tak, aby nowe ludki były widoczne na mapie w grze z przewijanym ekranem, lecz bez przewijania to pestka... |
|
|
|
 |
Omenski
Starszy kapral
 
Pomógł: 2 razy Posty: 40
1019 Prestiż
|
Wysłany: 23-01-2006, 14:12
|
|
|
A czemu miałoby się nie dać? Oczywiście trzeba wtedy się więcej nad czymś takim napracować .
Mapkę można zrobić z Obiektów Aktywnych lub z Obiektów wklejanych do tła (wersja oszczędzająca OA kosztem liczby uruchomionych pętli przez Fast Loopa).
Pierwsza metoda jest prostsza i zapewne niejeden przykład już można było zobaczyć:
OA przedstawiający obiekty gry (jednostkę/budynek/zasób/przeszkodę) przewija się wraz z ekranem. OA odpowiadający za obiekt na mapce według pewnych obliczeń ma ustawianą pozycję X i Y, opcja "follow the playfield" dla tego obiektu jest wyłączona. Jeśli jakieś obiekty są ustawione na początku, to w edytorze etapu muszą znajdować się tak jakby ekran nie był przewinięty. O ile dobrze pamiętam jeśli tworzy się obiekt z wyłączoną opcją podążania za polem gry, to trzeba go ustawiać w pozycji:
X=lewy kraniec planszy+XnaEkranie,
Y=górny kraniec planszy+YnaEkranie.
Jeśli mam rację, to przy tworzeniu nowego obiektu na mapce musi towarzyszyć ustawienie dwóch wartości dla tego elementu, np. wartość A = lewy kraniec planszy, B = górny kraniec planszy. Do tego dochodzi C = ID obiektu przedstawianego i ostatecznie:
X = A + obiekt[ID].X * skalaX
Y = B + obiekt[ID].X * skalaY
obiekt[ID].X - pozycja X obiektu, który mamy reprezentować na mapce za pomocą innego obiektu aktywnego typu "kropka" czy cosik na mapce, analogicznie dla Y.
SkalaX i skalaY do dobrania.
Mam nadzieję, że się nie pomyliłem po drodze
Z tego wszystkiego zapomniałem o metodzie 2:
Już w dużym skrócie: dużo rzeczy robi się analogicznie jak w pierwszym pomyśle, ale mapkę trzeba odświeżać w momoncie gdy coś na mapce (np. jednostka) się przesunie bądź gracz przewinął ekran. Może tu się jednak pojawić problem odnośnie liczby wklejanych obiektów. Na pętlę ta ilość jest dość różna dla kompów, ale przede wszystkim zależy od złożoności kodu etapu. Bardzo ogólne oszacowanie: 30-600 . Ile trzeba robić wklejeń? Zależy to od rozmiaru i dokładności mapki (chyba oczywiste). Płynnie zmieniająca się mapka w tym przypadku może być trudna do osiągnięcia, dlatego można rozbijać odświeżanie mapki na kilka pętli TGF-owych (np. dla pięciu mamy czas odświeżenia około 0,1s).
Jeszcze jedna ważna uwaga (w sumie nie tylko do tej metody) : musimy mieć zapisane jak wygląda plansza (nasze tło) na mapce. |
| Ostatnio zmieniony przez Omenski 23-01-2006, 14:21, w całości zmieniany 1 raz |
|
|
|
 |
Fanotherpg
Porucznik I'm livin' proof
 
Główny edytor: 
Drugi edytor: 
Pojedynki: tak
Skype: 
Pomógł: 8 razy Posty: 821
14370 Prestiż
|
Wysłany: 23-01-2006, 14:14
|
|
|
| Da się zrobić tak AlexJ np w Imperii wersja beta z www.polgamez.glt.pl jest minimapa na scrolingu. Jest to banalne do zrobienia bądź w SitCaX też jest... |
_________________ Indie since 1997. |
|
|
|
 |
Wos209
Starszy sierżant Woś Entertainment
 
Główny edytor: 
Drugi edytor: 
Pojedynki: być może
Pomógł: 2 razy Posty: 195
2946 Prestiż
|
|
|
|
 |
AlexJ
Plutonowy
 
Pomógł: 2 razy Posty: 86
2018 Prestiż
|
Wysłany: 25-01-2006, 19:00
|
|
|
No i po co ty to dajesz jak mój jest bardziej zaawansowany (posiada jeszcze domki) i obiekty ma też w dobrej skali (razem z budowaniem domków)?
http://rapidshare.de/file...d_mapa.gam.html
To spełnia jego wszystkie warunki:
1. Jak zbuduje budynek to jakaś zielona kropeczka pokazuje się na mapie.
2. Jak porusza się jakiś ludek to kropeczka porusza się na mapie.
Nigdzie nie jest napisane o nowych ruchomych obiektach, nie? Po co ty to dawałeś? |
_________________ Error 404: Błąd. Opisu nie znaleziono.
PS. Oryginalne, nie?
C++'s Cool. |
|
|
|
 |
|
|