fizyka wzory prawa zadania teoria, chemia teoria zadania wzory, modelarstwo szkutnicze
 tworzenie gier 2d żołnierz20.jpg

Pobierz kod Uniwersalny żałnierz Świata 2D - część 2

UNIWERSALNY ŻOŁNIERZ ŚWIATA 2D- część 2

Witam w drugiej część. Poniżej zrzut z działającego kodu tej części.

 tworzenie gier 2d żołnierz20.jpg

W naszym modelu świata 2D pojawiły się punkty werbunkowe w postaci sztandarów tworzonych jednostek. Teraz my musimy zmusić naszego przyszłego żołnierza do zaciągu. Co jak co nawet w świecie 2D armia nie cieszy się popularnością...
Jak to zrobić?


Nie będzie to trudne. Przyjmijmy, że graficznym sygnałem wstąpienia do armii będzie:
mundur muszkietera
uzbrojenie w szpadę

Tu chcę podkreślić, że w rzeczywistej grze oprócz zmian graficznych dobrze by było zwiększyć naprzykład: stopień agresji, punktów życia, siły ataku itp. Czyli w klasie duszka nale przewidzieć odpowiednie pola które te właściwości będą przechowywać. W omawianym modelu zajmiemy się tylko częścią dotyczącą grafiki. Za rodzaj obrazu graficznego odpowiadają wartości liczbowe zapisane w tych polach klasy tworzonego żołnierza:

fIdObrazKorpus, //indeks obrazu z listy OmegaImageList
fIdObrazGlowa,
fIdObrazBron,
fIdObrazTarcza,

fIdKlatkaKorpus, //indesk wycinanej klatki
fIdKlatkaGlowa,
fIdKlatkaBron,
fIdKlatkaTarcza :integer;


Chcąc ukryc broń wystarczy postapić jak poniżej

fIdObrazBron:=-1;


W przypadku gdy chcemy zmienić rodzaj broni Powiedzmy z maczugi na szpadę to do zmiennej fIdKlatkaBron należy podać indeks pierwszej klatki z nową bronią

IdKlatkaBron :=12;




 tworzenie gier 2d żołnierz21.jpg

Czyli jest to pierwsza klatka z lewej strony wiersza, drugiego zasobu grafiki z bronią.

Gdzie i kiedy to zrobić? : )

W omawianym przykładzie wybrałem dwie sytuacje zmiany broni. Pierwsza sytuacja występuje podczas kolizji jednego duszka z drugim. W wyniku takiego spotkania jeden z duszków traci tarczę i broń na rzecz drugiego. Technicznie załatwiamy to tak:

//Przykład akcj:Zabieranie broni
//Zabierz bron napotkanemu zolnierzowi
TZolnierz(Sprite).IdObrazBron:=-1;
TZolnierz(Sprite).IdObrazTarcza:=-1;
IdObrazTarcza :=3;
IdKlatkaBron :=TZolnierz(Sprite).IdKlatkaBron;
idKlatkaTarcza:=TZolnierz(Sprite).IdKlatkaTarcza;


Druga sytuacja to werbunek. Do zaciagu dochodzi wtedy gdy duszek będzie z kolizją obrazu sztandaru. W wyniku takiej kolizji zmienia się mundur (korpus), broń i zabierana jest tarcza.

//kolizja ze sztandarem- tworzenie muszkietera
if (Sprite is TSztandar)then begin
if (tSztandar(Sprite).fKolizja)or(fKolizja) then exit;
fKolizja:=true;
tSztandar(Sprite).fKolizja:=true;
IdObrazBron :=2;//ustaw indeksy zasobów graficznych broni
IdObrazTarcza:=3;//tarcz
//muszkieter jest bez tarczy więc mu ją zabierz
IdObrazTarcza:=-1;
//zmien klatkę korpusu
IdKlatkaKorpus:=252;//klatka munduru muszkietera - ten z zółtym krzyżem
//zmien kaltkę broni na szpadę
IdKlatkaBron :=12;
end;


Jak widać proces zmian jest bardzo prosty. Polega tylko na zmianie odpowiednich wartości liczbowych. Jedynie od scenariusza gry zależy, kiedy do takich zmian dochodzi. Ja wybrałem momenty kolizji z innymi duszkami lub z obrazem sztandaru. Kolizje i ruch uniwersalnego duszka oparty jest na modelu BOROSTWORA z Wędrówek w świecie 2D. Stąd też nie będę zasad wykrywania kolizji nie będę tu omawiać.

Na zakończenie chciałbym zwrócic uwagę na:
" klasę tSztandar, która jest dzieckiem klasy TSimpleAnimSprite. Analizując moment tworzenia sztandaru proszę zwrócić uwagę jakie parametry wymagne są do tworzenia płynnej i ciągłej animacji (tu falowanie flagi).
" tworzenie duszków naszej przyszłej armii odbywa się na podstawie odczytu pliku tekstowego postacie001.txt, który został utworzony narzedziem omawianym w pierwszej części tego cyklu. Procedura która tworzy duszki to TworzZolnierzy('postacie001.txt'); zapisana jest ona w pliku Unit1.pas


I to by było na tyle

Alkomat- wirtualny test

Alkomat- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Olinowanie stałe- kalkulator średnic

Olinowanie stałe- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
przepis na gogfry

Przepis na gofry

zobacz
przepis na bitą śmietanę

Przepis na bitą śmietanę

zobacz