Praktyczna Teoria część 4
 

autor: Fanotherpg


 

Pierwsze zabawy z pseudo 3D

 

   Dzisiaj postaram się wam przybliżyć podstawy do tego jak stworzyć silniki pseudo 3D. Co prawda może nie będą to jakieś odkrywcze informacje, ani też nie znajdziecie pomocy w rodzaju grafik, ale niektórym może ten banalny przykład pomóc zrozumieć podstawy pseudo 3D.

 

Najprostszy silnik pseudo 3D wygląda następująco:

a) tworzymy nową grę o rozmiarach 640x480 a w nim Obiekt Tła którego rozmiary będą wynosić 280x280

b) tworzymy linię od pozycji 280,0 do 0,280 po zrobieniu tego zwiększamy rozmiar x do 300px kopiujemy całą grafikę

c) zwiększamy rozmiar planszy do 600, wklejamy skopiowaną grafikę i odwracamy ją

d) przesuwamy ją aby dolna część linii osiągnęła poziom 600, wypełniamy pole między liniami wiaderkiem

e) sprawdzamy przy powiększeniu 

f) zamykamy edytor grafiki akceptując to co stworzyliśmy i umieszczamy centralnie na planszy

 

Stworzyliśmy właśnie naszą ulicę.. Nie wygląda zbyt efektownie no ale jest.. W najwęższym punkcie ma 42px a w najszerszym 600px. Linie które są jej krawędziami schodzą co 1px poziomo i 1px pionowo.

 

Teraz pozostaje nam stworzyć:

a) model naszego bohatera np. samochodu, podajmy rozmiary 200x100 jako obiekt aktywny

b) nowy obiekt aktywny takiej samej animacji który będzie naszym wrogiem. Jednak dajemy mu także podajmy 3 dodatkowe animacje w pozostałych kierunkach które będą stanowić 70%, 50% i 20% wielkości początkowej.

c) Pamiętaj dać obiektom hot spoty zawsze na samym środku (50% szerokości i wysokości).

d) Graczowi tworzymy ruch do poruszania się na boki (strefa x)
e) a komputerowi jeśli wartość A=0 co 1 setna sekundy dodaj do pozycji X 2px i do pozycji Y 2
px

f) jeśli wartość A=1 co 1 setna sekundy dodaj do pozycji do pozycji Y 2px

g) jeśli wartość A=2 co 1 setna sekundy odejmij od pozycji X 2px i dodaj do pozycji Y 2px

h) zdarzenie pozycja Y komputera> 480 ustaw pozycje komputera na 300,190 ustaw kierunek na najmniejsza wielkość animacji oraz wartość A na random(3)

i) także w start of level ponowić kod z linijki h)

 

Dzięki tej sztuczce będziemy mogli zdarzeniami pokroju:
Pozycja Y Wroga> 200px Pozycja Y Wroga< 230px ustaw kierunek na najmniejszą animację <- i takie zdarzenie ponowić jeszcze do odpowiedniej ilości animacji oraz zmieniając piksele dostosowując do rozmiaru obiektu. Uzyskać efekt zbliżania się wroga. 

 

Na podobnej zasadzie można dodać obiekty pobocza jak drzewa, domki czy krzaki należy jednak pamiętać o uwzględnieniu ich pozycji X i Y. Dodać tło jak góry itd. I mamy prostą wyścigówkę. Może nie jest ona niesamowita, nie posiada zakrętów itd. ale prezentuje podstawy pseudo 3D. A tymi bardzo ważnymi podstawami  są:

a) perspektywa

b) złudzenie optyczne

 

Jak na ten numer to wszystko. W następnym numerze stworzymy nowy silnik do gry wyścigowej z zakrętami (podam dwie możliwe metody uzyskania tego efektu), a także coś specjalnego dla lotniarzy...

 

 

 

Copyright (c) 2005-2006 Ślimaczek