Wpis z mikrobloga

Dobra .. dziś napiszę mniej więcej o zarysie, pomyśle i ewentualnych problemach, które już stoją przede mną.

Co do instalacji środowiska to widzę, że info w książce już lekko przestarzałe, ponieważ możemy ściągnąć przygotowane specjalnie pod androida Android Studio, zawierające SDK + środowisko programistyczne. Ok, tym się pobawię później, dziś czas goni.

Do rzeczy, schemat całej gry :

1. Strony tytułowe.

2. Menu z 3 buttonami : start, highscores, exit.

3. Ekran docelowy z grą i napisem ' tap to start ' - czyli taki standard.

4. Kiedy przegramy to info z wynikiem i buttony back to menu i replay.

Założenia podstawowe : jak najprostsze sterowanie, które jest chyba najlepszym wabikiem i właśnie w takie gry chce najbardziej się grać na kiblu i innych podobnych sytuacjach - najprawdopodobniej będzie sterowanie po prostu za pomocą naciśnięcia w dowolnym miejscu na ekran.

Bohaterem będzie - jeszcze nie wiem - , który będzie wznosił się lub opadał ze stałym przyspieszeniem. Korzystając z praw fizyki implementacja będzie wyglądać mniej więcej tak :

if ( playerTapScreen ) // jeśli gracz wciśnął przycisk, czyli nasz bohater zmienia kierunek lotu

{

direction *= -1; // zmieniamy zwrot ( direction przyjmuje wartości -1 lub 1

speed = speed0; // zerujemy prędkość do początkowej

}

speed += acceleration * direction; // prędkość rośnie o wartość przyspieszenia zgodną ze zwrotem ( lot w dól lub górę );

posY += speed; // zmieniamy położenie o wartość naszej aktualnej prędkości

Gra ma być wciągająca, czyli musi być trudna. Pozycja X naszego bohatera nie będzie się zmieniać, będą natomiast przesuwać się tło, przeszkody ograniczające od góry i dołu oraz przeciwnicy w lewo co zasymuluje ruch naszego ludka w prawo ;)

To tak w ramach wstępu i ogólnego zarysu. Nie wiem czy przeciwnicy będą mieli algorytm lotu czy będzie to losowe. Nie wiem jeszcze jak z mapami i planszami oraz bonusami.

Punkty oczywiście zdobywane będą jak ominiemy każdego z enemiesów ;)

Na dniach postaram się opisać jak zaplanuję sobie kod i ogólną strukturę programu, żeby nie mieć syfu, bo to potrafi wk!@327$. Przejrzałem trochę w książce obsługę grafiki i zdradzę już teraz, że zamierzam stworzyć własny system współrzędnych, ponieważ nie wyobrażam sobie operować na macierzach i przeliczać za każdym razem z układu na układ, także będzie klasa rodzic Object reprezentująca każdy graficzny element i sama przeliczająca sobie współrzedne do globalnego układu. Najprawdopodobniej położenie obiektu będzie od 0% do 100% szerokości i wysokości ekranu. Czyli np chcąc wyświetlić objekt na środku robimy :

x = 50 - objectWidth/2;

y = 50 - objectHeight/2

Dobra ... to tyle na dziś, wracam do nauki na kolosy :////

Zdrówko !

#bambokebabrobigre #programowanie #gamedev #android #java
  • 8
@Bambokebab: Nie jestem pewien o co dokładnie pytasz. Wydaje mi się, że wygląda podobnie jak w innych bibliotekach (SFML), ale ręki sobie nie dam uciąć.

Renderujesz co chcesz w swoim wirtualnym świecie we współrzędnych x,y (dla 2D, LibGDX wspiera też 3D), a następnie obiekt Camera definiuje jaki fragment tego świata jest wyrzucany ekran.

Zwykle to wygląda tak że przyjmujesz sobie jakąś wirtualną rozdzielczość np 800x460 albo 1024x576, ustawiasz kamerę na tą