Wczytywanie mapy w prostej grze wyścigowej 2D (C#/SDL)

0

Witam.

Staram się stworzyć prostą grę wyścigową 2D w C# korzystając z biblioteki SDL. Mam problem z wczytywaniem mapy, tzn. wczytując tło małych rozmiarów po prostu korzystam z :

 
        public Surface updateSurface()
        {
            Surface background = new Surface(Properties.Resources.imageMap);
            
            this.background = background;

            return background;
        }

Problem pojawia się gdy chcę wczytać główną mapę o bardzo dużym rozmiarze 8000x8000px po prostu wszytko się wysypuje z powodu braku pamięci. Macie jakiś pomysł jak to wczytać tak, żeby np. mapę można było scrollować jak auto się będzie przesuwało to cząstka powierzchni mapy będzie znikała a druga się pojawiała, żeby następowało płynne wczytywanie kawałków mapy a nie całej na raz.

Z góry bardzo dziękuję za radę.

0

Przeanalizuj ten kod:

http://code.google.com/p/tibiaapi/source/browse/trunk/tibiaapi/Util/MapViewer.cs

W skrócie: mamy mapę 2D, składająca sie z X plików. Każdy plik to 256x256 gridów. Ta klasa wczytuje te pliki dynamicznie, zezwala na scrollowanie i zoomowanie.

0

Dzięki za radę, przeanalizuję kod. Masz może pomysł jak to wczytywać kafelkowo?

0

Zlokalizuj, który dokladnie kawałek mapy wczytać, pobierz go z tej dużej mapy (8000x8000px), i wczytaj do tego małego kawałka mapy (kafelka).

1 użytkowników online, w tym zalogowanych: 0, gości: 1