Skocz do zawartości

przykład arknoida


Rekomendowane odpowiedzi

Siema chciałem wam podarować silniczek do arknoida (paletka na dole, piłka się o nią odbija i wali o ściany rozwalając je)

 

Pisałem go dość dawno, więc kod nie jest super zoptymalizowany.

 

https://gmclan.org/up7221_12_odbicie.html

 

 

Wrzucam to, bo zauważyłem grę tego typu (Ball Odbij 2) i mówię "o, mam coś takiego" :)

Odnośnik do komentarza
Udostępnij na innych stronach

przyklad ma pare bledow:

zamiast kilku mozna spakowac do jednego obiektu wszystkie bonusy, tak samo paletke powiekszana i zmniejszana.

object20 sprawdza czy nie ma tylko jednego typu bloczka na planszy, wiec poczatkujacy moglby sie pogubic, czemu wystarczy zbic tylko jeden bloczek by przeisc?!

Odnośnik do komentarza
Udostępnij na innych stronach

mam prośbę czy do przykładu "odbicie" korolo320

mógby ktoś dołożyć i tutaj zamieścić:

 

1. gra startuje oraz po stracie życia:

a. z przyklejoną piłeczką do paletki

b. piłeczka zwalnia się w górę po nacisnięciu lewgo przyciska myszy

 

2. paletka nie opuszcza ekranu gry najdalej dobija do krawędzi ekranu.

 

3.gdy pojawiają się ekstra piłeczki to:

 

a. te dodatkowe dostosowują prędkość do tej już z ekranu i zachowują się już jednakowo

b. utrata życia następuje tylko po opuszczeniu ekranu ostatniej piłeczki

Odnośnik do komentarza
Udostępnij na innych stronach

Przykład:

GML
speed += 0.003

if speed>20{speed=19.8} //max speed to 20</span>

można zamienić na:

GML
speed = min(speed+0.003,20)

Przykład: object20 jest niepotrzebny. Można to załatwić w kodzie zderzenia piłki z blokiem albo w kodzie zniszczenia bloku.

Przykład: obiekt "zycia" również nie jest potrzebny. Cały kod tego obiektu można zrealizować w kodzie obiektu "object1".

Przykład: obiekty "spion" i "spoziom" także są marnotrawstwem pamięci.

GML
if(x < 0)||(x > 640) hspeed *= -1

if(y < 0) vspeed *= -1

I tyle wystarczy, jeżeli chodzi o niewychodzenie poza room.

Przykład: 4 sprite'y na jeden bloczek to zdecydowanie za dużo. Od tego jest image_index.

GML
image_index = image_number-hp

I wtedy zamiast tworzenia dodatkowej zmiennej max_hp, mamy image_number.

 

To tylko kilka przykładów, mógłbym znaleźć więcej, ale, jak już wspominałem, nie chcę ;)

Odnośnik do komentarza
Udostępnij na innych stronach

dzięki karolo już da się fajnie pograć ale mam kolejne prośby

 

1.paletka żeby nie opuszczała ekranu gry

 

2. aby sobie postrzelać tz:

 

a. paletka fire- jeden rodzaj o standartowej długośći ze zwykłymi małymi pociskami

b. po nacisnieciu przycisku myszy szybkie krótkie pociski ale bez automatu

c.strzały z ograniczoną częstotliwością

d. po najechaniu na jakikolwiek kolejny bonus koniec paletki fire

 

3.paletka łapka

 

a.zakończenie łapki po najechaniu bonusa paletki fire

Odnośnik do komentarza
Udostępnij na innych stronach

  • 6 miesięcy temu...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...