Autor Wątek: Mapa gry  (Przeczytany 3237 razy)

Offline vjanusz

  • Użytkownik

# Marzec 01, 2006, 21:33:11
Mam prośbę

Ma ktoś może jakieś materiały lub namiar na materiały, dotyczące nawigacji po mapie gry a dokładniej. Nie wiem jak zaimplementować w gierce mape większa od ekranu monitora i przesówać ją łapą :)

 Pozdrawiam

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Wyszo

  • Użytkownik

# Marzec 01, 2006, 23:19:29
Obawiam się, że nie rozumiem problemu.

Ja daaawno temu w pewnym masochistycznym zarzuconym projekcie gry pseudo-rpg zakodziłem to prawie, że od ręki - opis podejścia w skrócie:

1. mapa składa się z kwadratowych pól wielkości 256x256 pikseli (do tego napisałem prosty program narzędziowy, który pozwalał automatycznie pociąć render, którego wysokość i szerokość były wielkrotnościami 256 na kawałki zapisywane do oddzielnych plików).
2. mapa to tablica wskaźników na tekstury pojedynczych pól wczytane do pamięci (można wczytywać dynamicznie w celu umożliwienia grania na ogromnych mapach, jak to było w Baldur's Gate, u mnie tak nie było).
3. Ekran ma wymiary: x, y, width, height, na podstawie których sprawdzane są pola, które należy wyświetlić.
4. Przewijanie: nic prostszego - po prostu modyfikowanie zmiennych x i y. Przesuwanie "łapą" jak to pięknie określiłeś jest banalnie proste: przy zdarzeniu naciśnięcia przycisku myszy zapisujesz współrzędne - niech one będą a, b, oraz współrzędne kursora myszy na ekranie po puszczeniu LPM - niech one będą a', b'. Wówczas z banalnego rachunku wektorowego: x += a'-a; y = b'-b;

na moje oko, to oprócz tego nie potrzebujesz NIC WIęCEJ, a w szczególności tutoriala...

Offline Złośliwiec

  • Użytkownik
    • Dark Cult

# Marzec 02, 2006, 09:54:12
Nie przypuszczam, by w ogóle istniały jakieś tutoriale do tak prostego zagadnienia, chyba że jako część większego artykułu o tworzeniu gier z widokiem z góry :). Jedyną trudnością może tu być nie sama implementacja (którą opisuje Wyszo), a interfejs. Na przykład chcesz przesuwać mapę myszą - kiedy kursor zbliża się do dolnej krawędzi ekranu, mapa zaczyna się przesuwać w dół, a im bliżej do krawędzi, tym szybciej się przesuwa. Ale to też nie jest jakimś kosmicznym problemem i jak się trochę pomyśli, to jak najbardziej da się to zrobić, nie trzeba koniecznie szukać żadnych tutoriali ;).

Offline Oijadt

  • Użytkownik

# Marzec 02, 2006, 10:36:37
jak to nie, byl artykul na starym warsztacie. nie wiem jak teraz.

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Marzec 02, 2006, 16:36:45
Ja bym tego nie nazwał aż tak prostym zagadnieniem, a materiały na ten temat nie istnieją tak samo jak nie ma tekstów typu "jak napisać grę", bo takie pytanie jest po prostu zbyt ogólne. Napisz tak, jak uważasz - żeby było dobrze, żeby działało. Trochę ciekawych rozwiązań można poznać, usłyszeć, przeczytać, ale głównie to wszystko polega na własnym myśleniu.

Offline really

  • Użytkownik

# Marzec 02, 2006, 17:08:14
Coś takiego było opisane w książce "Programowanie gier 2D i 3D w Turbo Pascalu", nie widzę sensu w kupowaniu tej książki tylko dla tego opisu, ale może znasz kogoś, kto ją ma.

Offline exor

  • Użytkownik

# Marzec 02, 2006, 19:27:24
Chyba ze strony heliona można było kiedyś sciągnąć kody do tej ksiązki. Jesli ci to pomoże to ściągnij sobie i przejżyj te pliki.

Offline vjanusz

  • Użytkownik

# Marzec 02, 2006, 20:31:21
Wielkie Dzięki wszystkim którzy odpowiedzieli na moje pytanie i przepraszam że takimi banałami zawracam głowę.  Dopiero zaczynam przygodę z pisaniem gier i szukam wszelkich materiałów jakie są na temat gier 2D.
Myslałem że może ktoś ma namiary na artykół który dawniej był na warsztacie.

Pozdrawiam :)
« Ostatnia zmiana: Marzec 03, 2006, 14:43:54 wysłana przez Regedit »

Offline majak

  • Użytkownik

# Marzec 02, 2006, 21:17:14
Tu jest coś o mapach w Direct Draw http://directxzone.w.interia.pl/ddraw/ddraw_05.htm

Pozdrawiam.

Offline Piotr

  • Użytkownik

# Marzec 03, 2006, 11:19:40
Na www.gamecreator.prv.pl jest specjalny dział mówiący o mapach, tam możesz poczytać !!!

Offline vjanusz

  • Użytkownik

# Marzec 03, 2006, 12:36:51
Wielkie dzięki za linki :) fajne materiały