Skocz do zawartości

Arena Wars : ES


eXcLiFe

Rekomendowane odpowiedzi

Witam

 

Arena Wars : ES posiada 2 podstawowe błędy... i nie wiem gdzie ich mam szukać ...

1) pocisk przelatuje przez ścianę

2) pocisk rozwala naraz całą linie skrzyni a wrogów już nie :/

3) i inne drobne błędy

 

Jeśli możecie oblukajcie ten engine :

 

http://www.gmclan.org/up652_11_aw2es.html

 

i powiedzcie mi co jest nie tak ...

 

PS. Dźwięk znajdziecie w poprzedniej v gry :

 

http://www.gmclan.org/up652_3_aw2es.html

 

Z góry dzięki

 

Pozdro eXcLiFe

Odnośnik do komentarza
Udostępnij na innych stronach

Jak rozwiązać problemy sam nie wiem z początku myslałem ,że wystarczy w kolizji z murem zrobic destroy ale to zbyt proste, więc chyba z takim czymś porblemu byś nie miał :D

 

Co do samej gry, trudno przecisnąć się przez szpare do tej stołówki :D I chyba trochę za ostro się ludzikiem chodzi chyba ,że tak ma byc. No i mam nadzieję ,że ktoś z początkujących nie zwinie Ci tego, dorobi kilka rzcezy i podpisze jako swoje :angry:

Odnośnik do komentarza
Udostępnij na innych stronach

też mam taką nadzieje ale udostępniłem ten projekt bo chce żeby każdy mógł coś od siebie dodać :P czy też poprawić to ma być wspólny projekt :D

a po za tym jak zwinie to i tak będzie miał nie mały orzech do zgryzienia żeby poznać strukturę gry :P (mówie o początkujących)

Odnośnik do komentarza
Udostępnij na innych stronach

Wiesz nie widać naboi bo ich nie ma :P to jest za zasadzie zbioru punktów :P

że jeżeli w danym zbiorze punktów od a do b wystąpi taki i taki warunek to wtedy to i to (przynajmniej takie miałem założenie :D) i z tym mam ciągle problem :/ bo tak to jest ok.

 

Ps. spróbujcie to sami rozwiązać jak się wam uda jesteście prze :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Podpowiedź pierwsza:

 

1) Wywal wszystkie obiekty i sprity wall.

2) Utwórz jeden sprite z paroma klatkami animacji: górny lewy róg, górny prawy róg, dolne odpowiedniki, pozioma ściana, pionowa ściana, pionowa ze spojeniem z pionową od góry, wariant od dołu itd.

3) Utwórz jeden obiekt wall.

4) Strzeż się przed tym aby temu obiektowi dawać jakąkolkwiek akcję prócz create. Stepy, kolizje i inne, które masz wybij sobie z głowy. Nie zażynaj niepotrzebnie procesora.

5) W create obiektu wall napisz skrypt, który zawiera:

image_speed = 0;

Algorytm kolizji z innymi obiektami wall i zaleznie od innych wall sasiadujacych w poziomie, pionie itd. nadaj odpowiedni image_index.

 

 

 

 

Podpowiedź druga:

 

Nigdy nie stosuj akcji kolizji w obiektach pasywnych. Przykład:

Piłka vs ściana. Akcja kolizji powinna być w piłce, nie ścianie.

Gracz vs broń. Akcja kolizji i zbierania broni powinna być w graczu, nie broni.

 

Obiekty pasywne pozostaw praktycznie bez żadnych akcji.

 

 

 

Podpowiedź trzecia:

Integruj obiekty podobnego gatunku w jedną całość. Przykład z twojej gry:

ak47 i barettm82. Po co aż dwa obiekty?

1) Stwórz jeden obiekt o nazwie bron_palna

2) Stwórz dla niego jeden sprite gdzie każda klatka animacji odwzorowuje inną broń.

3) Podczas tworzenia broni na planszy wykonuj taki skrypt:

 

obiekt = instance_create( x, y, obj );

ksztaltuj_bron( obiekt , i );

 

4) Utworz skrypt ksztaltuj_bron i napisz mu wnetrze:

argument0.image_speed = 0;

argument0.image_index = argument1;

nazwa_obiektu_gracza.bron_aktywna[argument1] = true;

...

 

5) Pozbadz sie zmiennych aktywujacych bronie za pomoca tablicy bron_aktywna

6) Gdy bedziesz chcial stworzy bron na planszy bezposrednio w edytorze plansz, to wystarczy ctrl+prawy klik na broni i w create wpisac:

ksztaltuj_bron( id, tutaj_numerek_typu_broni );

 

 

 

ps. Gdzie jest akcja lewego klikniecia mysza do strzelania, bo nie moge zlokalizowac.

Odnośnik do komentarza
Udostępnij na innych stronach

Jest ona w scr_m4fire

 

   var xx, yy, ii;
 xx = global.camx;
 yy = global.camy;
 repeat (50)
 {
   xx += 4*global.camcos;
   yy -= 4*global.camsin;
   ii = instance_position(xx,yy,obj_wall_basic);
   if (ii == noone) 
   {
     ii = instance_position(xx,yy,obj_monster_basic);
     if (ii == noone) continue;
     with (ii) {livess-=powerw-(distance_to_object(obj_player)/80); repeat (random(4)+6) {instance_create(xx,yy,obj_krew_draw);}};
              break;
   }          
 if instance_position(xx,yy,obj_plant_basic) continue; 
   if (ii.object_index == obj_paka) || (ii.object_index == obj_beka)  
      with (ii) livess-=powerw-(distance_to_object(obj_player)/80); repeat (random(4)+6) {instance_create(xx,yy,obj_odlamekpaki);;
   break;

 

PS. Thx za pomoc widze że jeszcze dużo nie wiem o tym programie :P

Odnośnik do komentarza
Udostępnij na innych stronach

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ę...