OnlyP Opublikowano 25 Stycznia 2011 Udostępnij Opublikowano 25 Stycznia 2011 Witam, Jako że Game makerem zajmuje się od nie dawna, mam dwa problemy: 1. Mam problem ze strzelaniem, a konkretnie o to jak zrobić odstępy miedzy strzałami. Przykładowo chciałbym: Jak przytrzymam spacje to co 3 sekundy żeby wychodził strzał. 2. Kolejnym problem jest to, że nie ogarniam tego paska życia. Jeżeli ma ktoś jakiś link do tego ładnie wyjaśnionego to poproszę. Dokładniej mi chodzi o to ze jak np uderzę kogoś to żeby mu np zabrało 1/4 życia. No i uderzenie żeby zabierało ta 1/4. Na razie tyle :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 25 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 25 Stycznia 2011 GML (create) cooldownmax = room_speed * 3; cooldown = cooldownmax; GML (step) cooldown -= 1; if( keyboard_check( vk_space ) and cooldown <= 0 ) { instance_create( x,y,o_Bullet ); cooldown = cooldownmax; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
waxx Opublikowano 25 Stycznia 2011 Udostępnij Opublikowano 25 Stycznia 2011 2. Kolejnym problem jest to, że nie ogarniam tego paska życia. Jeżeli ma ktoś jakiś link do tego ładnie wyjaśnionego to poproszę. Dokładniej mi chodzi o to ze jak np uderzę kogoś to żeby mu np zabrało 1/4 życia. No i uderzenie żeby zabierało ta 1/4. Znaczy ze mamy za ciebie zapisac odejmowanie 1/4 zmiennej? Ulamki chyba umiesz, dodawac/odejmowac/dzielic/mnozyc tez. W czym problem? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 25 Stycznia 2011 Autor Udostępnij Opublikowano 25 Stycznia 2011 To drugie juz nie ważne. A co do tego pierwszego: a jak bym chciał zrobić że jedna spacja to jeden strzał? To jak to :P? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 25 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 25 Stycznia 2011 keyboard_check_pressed W takich sytuacjach polecam przejrzeć sobie dokumentację gma. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 25 Stycznia 2011 Autor Udostępnij Opublikowano 25 Stycznia 2011 A w takiej sytuacji się nie dowiedziałem... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 25 Stycznia 2011 Udostępnij Opublikowano 25 Stycznia 2011 W step obiektu, który ma strzelać, daj ten kod: GML if keyboard_check_pressed(vk_space) { instance_create(x,y,o_strzal) } Ale przejrzenie dokumentacji GM, Ci nie zaszkodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 25 Stycznia 2011 Autor Udostępnij Opublikowano 25 Stycznia 2011 Dzięki wielkie :P Na pewno zajrzę xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 26 Stycznia 2011 Autor Udostępnij Opublikowano 26 Stycznia 2011 Mam kolejne pytanko: Staram się zrobić gierkę w stylu bijatyki. Zrobiłem sprity poustawiałem pod różne klawisze je. wWzystko ładnie pięknie tylko że: nacisne przykładowo "z" (jeden z ciosów) to zmieni się sprite i nie wiem jak zrobić zeby ten cios w tym momencie zabierał przeciwnikowi życie jeśli bedzie on w zasięgu. Z góry dziękuje. Sory za offtop Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 26 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 26 Stycznia 2011 GML if( sprite_index == hero_kick ) { if( place_meeting( x,y,o_Enemy ) { a = instance_nearest( x,y,o_Enemy ); a.HP -= 10; } } do tego przydałoby się jakieś zabezpieczenie za pomocą zmiennej typu bool na to, żeby tylko raz podczas jednego kopu przeciwnik obrażenia otrzymywał. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 26 Stycznia 2011 Autor Udostępnij Opublikowano 26 Stycznia 2011 Dzięki wielkie. A jak to zabezpieczenie zrobić bo właśnie mi coś w tym rodzaju potrzebne było. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 26 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 26 Stycznia 2011 GML (create) AlreadyKicked = false; GML (step) if( !AlreadyKicked and sprite_index == hero_kick ) { if( place_meeting( x,y,o_Enemy ) ) { a = instance_nearest( x,y,o_Enemy ); a.HP -= 10; AlreadyKicked = true; } } else if( AlreadyKicked and sprite_index != hero_kick ) AlreadyKicked = false; na pewno da się to wydajniej / lepiej zrobić ale śpiący jestem i ledwo myślę już Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
waxx Opublikowano 26 Stycznia 2011 Udostępnij Opublikowano 26 Stycznia 2011 jak kopniesz to ustaw im na true a jak zmienisz sprite spowrotem na idle to ustaw all enemy na false albo timer albo cokolwiek pomysl sam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 27 Stycznia 2011 Autor Udostępnij Opublikowano 27 Stycznia 2011 Dziękuje ANtY bardzo mi pomogłeś :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 27 Stycznia 2011 Autor Udostępnij Opublikowano 27 Stycznia 2011 No to teraz jeszcze mam jeden problem. A konkretnie przeciwnicy. Jak zrobić żeby przeciwnik, który chodzi w kolko gdy zobaczy bohatera porzucił swoje zajęcie ( to chodzenie w lewo i prawo xD) obrócił się do bohatera, podbiegł do niego i zaczął nazwijmy to: podgryzać <xD> np. co 3 sekundy. [nie które czynności dałem rade zrobić, ale myślę, że jak to będzie w całości będzie mniejszy kłopot. :) ] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 27 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 27 Stycznia 2011 GML (create) HeroInRange = false; Range = 300; pozniej w stepie sprawdzasz czy hero jest w zasiegu ( funkcja point_distance ), zmieniasz HeroInRange na true w razie potrzeby. No i jesli jest to niech podbiega jesli nie stoi przy hero i go atakuje z cooldownem na 3 sek ustawionym. Nie będę ci całego kodu wklejał, bo nie o to chodzi, żebym grę za ciebie pisał, a żebyś zaczął myśleć samodzielnie ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 27 Stycznia 2011 Autor Udostępnij Opublikowano 27 Stycznia 2011 Do tej pory praktycznie tylko na kostkach robiłem więc GML prawie nie ogarniam ale popróbuje. Którą komenda może podbiegać bo nie wiem ?<glupie pyt troche xD> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 27 Stycznia 2011 Udostępnij Opublikowano 27 Stycznia 2011 GML move_towards_point(object.x,object.y,4) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
waxx Opublikowano 27 Stycznia 2011 Udostępnij Opublikowano 27 Stycznia 2011 Do tej pory praktycznie tylko na kostkach robiłem więc GML prawie nie ogarniam ale popróbuje. Którą komenda może podbiegać bo nie wiem ?<glupie pyt troche xD> poczytaj kurs gmla ktory jest na tej stronie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 27 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 27 Stycznia 2011 Do tej pory praktycznie tylko na kostkach robiłem więc GML prawie nie ogarniam ale popróbuje. Którą komenda może podbiegać bo nie wiem ?<glupie pyt troche xD> Myślę, że najlepiej będzie tu się posłużyć animacjami oraz zmienianiem wartości zmiennej x danego obiektu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 27 Stycznia 2011 Autor Udostępnij Opublikowano 27 Stycznia 2011 Dziękuje bardzo za pomoc poradziłem sobie jakoś. :) Teraz mam pytanie jak zrobić, żeby cyfry od 1-100 pojawiały się powoli. eh nie wiem jak to wytłumaczyć. Coś w stylu odliczania tylko że do góry. Jak to zrobić? I jeszcze do tego taki prostokąt, coś w stylu życia tylko że to nie życie xD chodzi mi o to żeby się powiększał i pomniejszał. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 27 Stycznia 2011 Udostępnij Opublikowano 27 Stycznia 2011 Łatwo: GML (Draw) draw_rectangle(obojętnie,obojętnie,obojętnie+zmienna,obojętnie) draw_text(obojetnie,obojętnie,string(floor(a))) GML (Create) a=0 GML (Step) a+=1/room_speed Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 27 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 27 Stycznia 2011 no to w create deklarujesz sobie zmienną np Time = 0; i w stepie dodajesz sobie, np. Time += 1; 1/room_speed jak chcesz, żeby odejmowało faktyczny upływ czasu (czyli normalne sekundy) No i ją wyświetlasz. Co do prostokąta to GML (draw) draw_rectangle( 100, 100, 100+ zmienna, 100 + zmienna, false ); a zmienną sobie zmniejszasz i zwiększasz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 27 Stycznia 2011 Autor Udostępnij Opublikowano 27 Stycznia 2011 No dobra wszystko pieknie tylko, że ten prostokąt ma się powiększać pod wpływem tych liczb a konkretniej pewnej zmiennej ktora rosnie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 27 Stycznia 2011 Udostępnij Opublikowano 27 Stycznia 2011 No to dajesz tą zmienną zamiast: zmienna Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OnlyP Opublikowano 28 Stycznia 2011 Autor Udostępnij Opublikowano 28 Stycznia 2011 Jak zrobić żeby ten tekst nie liczyło powyżej 100? chce żeby się na 100 zatrzymało, a jak będzie mniej żeby znowu liczyło. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 28 Stycznia 2011 Udostępnij Opublikowano 28 Stycznia 2011 GML if czas>=100 { czas=100 } if czas<=99 { czas+=1 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Saus Opublikowano 28 Stycznia 2011 Udostępnij Opublikowano 28 Stycznia 2011 GML if czas < 100 then czas += 1 :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 28 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 28 Stycznia 2011 GML if czas>=100 { czas=100 } if czas<=99 { czas+=1 } Już chyba gorzej się tego rozwiązać nie dało. Gratuluję za takie odkrycie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 28 Stycznia 2011 Udostępnij Opublikowano 28 Stycznia 2011 Nie ważne jak, ważne, że działa. 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ę