kso Opublikowano 25 Listopada 2015 Udostępnij Opublikowano 25 Listopada 2015 Mam taki kod GML draw_sprite(spr_spikes_down,0,x,y); if (instance_exists(obj_player)) { if(obj_player.x = self.x) { gravity = 0.5; } } Takie pytanie: Dlaczego niektóre kolce spadają,a inne nie ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 25 Listopada 2015 Udostępnij Opublikowano 25 Listopada 2015 Z kodu wynika, że spadają tylko te które mają x dokładnie taki sam co x gracza. Czyli nie jeżeli są nad graczem, a jeżeli x jest zgodny - tu może być problem. Żeby coś więcej powiedzieć musiałbyś dać więcej informacji o celu i uzyskanym efekcie. Może coś bardziej w tę stronę: GML draw_sprite(spr_spikes_down,0,x,y); if (instance_exists(obj_player)) { if(obj_player.x+sprite_width >= self.x && obj_player.x <= self.x+DLUGOSC_SPRITE_KOLCY) { gravity = 0.5; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kso Opublikowano 25 Listopada 2015 Autor Udostępnij Opublikowano 25 Listopada 2015 działa dzieki :), ale wciąż nie rozumiem co było źle w tamtym kodzie, x musi być zgodny czyli jeżeli przebiegłem całą długość kolców to w pewnym momencie i tak powinien być x zgodny. dobrze to rozumiem? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 25 Listopada 2015 Udostępnij Opublikowano 25 Listopada 2015 To jest jeden kod? Dlaczego zmieniasz grawitację oraz rysujesz sprite w jednym evencie? Funkcje z draw_ dajesz tylko w draw, tam nie wykonuj żadnego kodu z np grawitacją, to dawaj do stepu. Następna rzecz, nie musisz dawać self.x, wystarczy samo x. I ostatnia sprawa: źle rozumiesz. Dam Ci przykład: Kolce mają x=30. Gracz na początku ma x=0 i prędkość poruszania 4. Czyli nie ma prawa, aby jego x był równy 30, będzie albo 28, albo 32 najbliżej, czaisz? :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kso Opublikowano 25 Listopada 2015 Autor Udostępnij Opublikowano 25 Listopada 2015 Aha teraz rozumiem. Co do tego draw, czy jeżeli zostawie tam ten kod, to może później mi bugować ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 25 Listopada 2015 Udostępnij Opublikowano 25 Listopada 2015 Tak. W draw dajesz jedynie to, co chcesz rysować, ew rób małe operacje(które też używasz do rysowania). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 25 Listopada 2015 Udostępnij Opublikowano 25 Listopada 2015 Aha teraz rozumiem. Co do tego draw, czy jeżeli zostawie tam ten kod, to może później mi bugować ? Tak. W draw dajesz jedynie to, co chcesz rysować, ew rób małe operacje(które też używasz do rysowania). Nie koniecznie będzie się bugować, szczególnie przy tak prostym kodzie, ale na pewno w końcu zacznie to spowalniać grę. Warto przyswajać dobre praktyki już teraz. Boad bardzo dobrze radzi. Cała logikę, poruszanie, kolizje, etc trzymaj w step. W Draw wykonuj tylko kod odpowiedzialny za rysowanie. Ale nie bój się tego. Nic się nie stanie jak w step będzie pętla która będzie rysować 10 serduszek, albo jakiś inny kod. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę