Skocz do zawartości

Zablokowane Pocisk


Rekomendowane odpowiedzi

mam instance_destroy() hodzi oto rzepocist pszelatuje pszez wroga nie dotykając go

bo jesili pocisk ma prętkosici zaurzmy 30 to co 30 pixel będze się pojawiał

 

a jerzeli wrug ma 20 pixli to morze go ominąci

 

pozatym otpal sobie game makera i wrzuci shooter'a zwiększ prędkosici pocisku załurzmy o 100 iszczelaj w nih tam gdze kuli nie będze widaci to sam zobaczysz oco mi hodzi

Odnośnik do komentarza
Udostępnij na innych stronach

nie da się co pixel i szybko ponieważ pocisk porusza się w każdym stepie tyle razy ile ustawiony jest room_speed. Jednym rozwiązaniem jest to, że można zamiast pocisku narysowac linie prostą o odpowiedniej długości i w ten sposób pocisk trafi w cel tak czy siak.

Odnośnik do komentarza
Udostępnij na innych stronach

ogólny kod może wyglądać tak ...

    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);    //(maska scian)
   if (ii == noone) 
   {
     ii = instance_position(xx,yy,obj_monster);   //(maska potworów)
     if (ii == noone) continue;
     with (ii) { [FUNKCJA PO TRAFIENIU] };
              break;
   }          
   }  
 

Pozdro eXcLiFe

Odnośnik do komentarza
Udostępnij na innych stronach

Chłopak ma głowę na karku. Ja bym napisał to tak:

var speed_, obj, mcos, msin;

speed_=2; //Okreslenie speeda pocisku
obj=obiekt_kolizji; // Z jakim obiektem ma byc wykrywana kolizja

mcos=cos(direction/180*pi);
msin=-sin(direction/180*pi);

repeat(speed_)
{
   if collision_line(x,y,xprevious,yprevious,obj,1,1)
   {
       //Co sie dzieje po kolizji z obiektem?
       
       instance_destroy()
       exit;
   }
   
   x+=mcos;
   y+=msin;
}

Problem może się pojawić przy większych prędkościach (>=100000 ^^).

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Diała ale na jednego wroga kod podany

wprowadziłem do pocisku

 

hodi oto że hec aby pocisk zabierał ilosici życia w zalerznosici od wroga i mam problem z zabieraniem rzycia wrogom dokładnie wrogowi

 

jak zabije jednego wroga

 

nastempny (ale ten sam obiekt) ginie po jednym szczale mysilałem terz rzeby po instance_destroy() wrzucić spowrotem że życie ruwna się ilesi tam

ale znuw jak zabije jednego innyn tegotypu uleczy

 

prosze o pomoc

 

ps

 

był bym bardzo wdzienczny za jakisi skrypt tego typu poniewarz jestem raczej wzrokowcem i badanie w skrypcie jak co działa lepiej mi idze i odrazu wiem co do czego

Odnośnik do komentarza
Udostępnij na innych stronach

Prubowałem jurz tego , hodzi oto że pocisk nadal nie dotyka wroga ale colision line robi cosi takiego że nie pszeleci pszez wroga jak by była kolizja ale nie z pociskiem.

 

a jerzeli hce rzeby działało poprawnie cały bajer z rzyciem musze umiesicić w pocisku

"with enemy {hp-=1}"

no ale wtedy jerzeli zabije jednego wroga wszyscy tego typu terz umrą

ps.

czy wiecie jak dodaci tu załącznik wysłał bym wam kod zirudłowy

Odnośnik do komentarza
Udostępnij na innych stronach

to co dałesi mysile że jest wporzondku i ma sens ale coś w mojm kodzie musi być nietak

 

colision_line to dlamnie coś nowego i niecałkiem kumam jego zasade

 

oto muj kod w pocisku

 

var speed_, mcos, msin;

speed_=100;
mcos=cos(direction/180*pi);
msin=-sin(direction/180*pi);

repeat(speed_)
{
  if collision_line(x,y,xprevious,yprevious,obj_enemy,1,1)
     {
      if other.object_index=enemy
     {
      with (other) hp-=1;
     }
        instance_destroy()
                 
      
  }
  
  x+=mcos;
  y+=msin;
}

 

nie wiem co jest nietak prubowałem kombinowaci ale nic z teko nie udało mi sie nic zrobici

Odnośnik do komentarza
Udostępnij na innych stronach

Prawie twój =]

var speed_, mcos, msin;

speed_=100;
mcos=cos(direction/180*pi);
msin=-sin(direction/180*pi);

repeat(speed_)
{
  i=collision_line(x,y,xprevious,yprevious,obj_enemy,1,1)

  if i=true
  {
      with (i) hp-=1;
      instance_destroy()
  }

  x+=mcos;
  y+=msin;
}

 

BTW. Pisz po polsku i przestrzegaj zasad poprawnej pisowni =D

Odnośnik do komentarza
Udostępnij na innych stronach

hodziło mi że w mojej grze oczywisicie wiem że to tak dakładnie to twuj kod

 

ps

 

pisanie poprawnie cięszko mi idzie poniewarz jestem dyslektykiem ale sie staram

 

Tymon: Nie zwalnie Cię to z pisania początku zdania z dużej litery i postawienia kropki na końcu =] Poza tym masz dużo programów które mogą sprawdzić twoją pisownię i poprawić błędy.

Odnośnik do komentarza
Udostępnij na innych stronach

pisanie poprawnie cięszko mi idzie poniewarz jestem dyslektykiem ale sie staram

Ja to nie rozumiem, dlaczego każdy kto nie zna ortorgafii jest teraz dysklektykiem :| . Przynajmniej byście się nie zasłaniali chorobą, tylko sprawdzali swoje posty w Wordzie, albo chociaż ze słownikiem ortograficznym.

 

PS. I tak zostanę przy zdaniu, że 1 na 5 dyslektyków to naprawdę chory, a reszta to z lenistwa. Dysleksja polega na tym, że dana osoba ZAPAMIĘTUJE wszystko z lekcji, umie to, ale poprostu nie umie tego wykorzystać w praktyce, a jak ktoś nie wie na co się wymienia Ó, to sorka, ale to zwykłe lenistwo. Ludziom się nie chce uczyć, idą do poradni i dostają papierek i są zwalniani z obowiązku dobrego pisania. A bądźcie zwalniani. Na studiach, w pracy, nawet przy zdawaniu prawa jazdy nikogo nie obchodzi że jesteście dyslektykami czy nie. Macie umieć i tyle. Najwyżej nie zdacie.

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki za pomysł z word’em wykorzystam go .

 

A propo jak byście mogli nie poruszać tego tematu od dziecka jestem z tego powodu wyśmiewany.

 

Tymon: Nikt się przecież z Ciebie nie śmieje (nie tylko ty na forum jesteś dyslektykiem) to nie powód do śmiechu =)

 

Marmot@ W twoim poście są 3 błędy =D

Odnośnik do komentarza
Udostępnij na innych stronach

Bez Worda ani rusz. Chociaż bardziej radziłbym poczytać słownik. To trzeba leczyć, a nie zasłaniać się maszynami, bo potem nie dostaniesz pracy. A w GML błędy też się liczą.

Ja jestem dysgrafikiem i przy okazji dysortografikiem (chociaż zdjeli mi tą opinie w tym roku), a moda miałem na... 3 chyba forach i od 2 kolejnych miałem propozycje.

Sorki za mały OT, ale tym trzeba się raczej zająć, może jakiś topic?

 

Tymon: Temat był już kiedyś poruszany.

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra my tu gadu gadu a problem sam się nie rozwiąże.

dam sobie spokój z tym pociskiem.

 

Ale za to jestem ciekaw jak by wyglądał kod na skok w rpg’u długo myślałem jak by takie coś działało.

 

Po za tym czy da się zrobić level składający się z 3 room’ów chodzi mi o takie coś w stylu trzech warstw nie wiem czy rozumiecie o co mi chodzi .

 

W każdym razie chciał bym że jak kolo wyjdzie na górę to bzdety na dole by się dezaktywowały a na górze aktywowały się inne .

 

A i omal bym zapomniał

Czy da się zrobić żeby titles zasłaniał obiekt.

 

Ps.

Word jest w porządku bo wiem gdzie popełniam błędy i wiem ja wygląda poprawna jej pisownia w ten sposób się uczę poprawnie pisać.

Odnośnik do komentarza
Udostępnij na innych stronach

Czy da się zrobić żeby titles zasłaniał obiekt.
Da się. Gdy jesteś w roomie w zakładce "Titles" masz na dole, kliknij "Add" i wpisz -1000000. Potem w "Current Title Layer" wybierasz warstwę =]

 

Ale za to jestem ciekaw jak by wyglądał kod na skok w rpg’u długo myślałem jak by takie coś działało.
if keyboard_check_pressed(klawisz)
{
   jump=true;
}

if jump=true
{
   z+=1;
   
   if z>10
   {
       jump=false;
   }
}
else
{
   if z!=0
   {
       z-=1;
   }
   
   if z<0
   {
       z=0;
   }
}

Coś takiego. Potem w draw daj:

draw_sprite(sprite_index,image_index,x,y-z);

 

Po za tym czy da się zrobić level składający się z 3 room’ów chodzi mi o takie coś w stylu trzech warstw nie wiem czy rozumiecie o co mi chodzi .

 

W każdym razie chciał bym że jak kolo wyjdzie na górę to bzdety na dole by się dezaktywowały a na górze aktywowały się inne .

Wystarczy że użyjesz 3 roomów a potem zrobisz między nimi przejścia =)
Odnośnik do komentarza
Udostępnij na innych stronach

Czegoś takiego nie da się zrobić. Możesz zrobić kilkanaście obiektów, zapisać ich id do tablicy a potem aktywować albo deaktywować te obiekty ale to trochę bez sensu.

 

Masz w moim profilu moje GG =]

Odnośnik do komentarza
Udostępnij na innych stronach

Aha =D Było tak odrazu, trzeba sprawdzić czy bochater jest w pobliżu obiektu (i z której stroni idzie) a potem zmienić alpha (przezroczystość) mostu. Nie napiszę Ci kodu bo trzeba mi konkretnego przykładu.

 

EDIT

Jednak napiszę, poczekaj chwilkę.

 

EDIT 2

https://gmclan.org/up152_11_Przechodzenie.html

Skromnie bo na szybko ale o to chodzi =)

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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