Caporegime Opublikowano 20 Lutego 2011 Udostępnij Opublikowano 20 Lutego 2011 Witam. Mam pomysł na taki prosty system walki: Jeśli dojdzie do kolizji z przeciwnikiem, HP odejmuje się graczowi. Ale gracz może również kliknąć LPM na wrogu by go zaatakować. Chciałbym, by gracz mógł zaatakować przeciwnika dopiero gdy podejdzie na niewielką odległość. Czy wie ktoś, jakzrobić coś takiego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 20 Lutego 2011 Udostępnij Opublikowano 20 Lutego 2011 Proszę: distance_to_point(x,y) Returns the distance of the bounding box of the current instance to (x,y). distance_to_object(obj) Returns the distance of the instance to the nearest instance of object obj. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
M@ILOSZ Opublikowano 20 Lutego 2011 Udostępnij Opublikowano 20 Lutego 2011 Czyli w mouse_pressed w objekcie przeciwnika: if distance_to_object(obj_gracz) < ileśtam { HP -= 5 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Caporegime Opublikowano 20 Lutego 2011 Autor Udostępnij Opublikowano 20 Lutego 2011 M@ILOSZ, coś tu nie gra. Zrobiłem tak jak napisałeś, pozamieniałem nazwy obiektów na swoje nazwy, wprowadziłem zasięg, ale nadal mogę zabijać przeciwników choćby byli na drugim końcu planszy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 20 Lutego 2011 Udostępnij Opublikowano 20 Lutego 2011 1.a na ile przestawiles ileśtam? 2.obj_gracz zamieniles na nazwe ktorego obiektu i w ktorym ten kod masz? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Caporegime Opublikowano 20 Lutego 2011 Autor Udostępnij Opublikowano 20 Lutego 2011 "ileśtam" zmieniałem różnie - 1, 5, a nawet 30 i skutek był ten sam. "obj_gracz" zmieniłem na "player" czyli głównego bohatera. Kod zamieściłem w "Left Mouse Button" razem z częścią kodu z przykładu "Tymczasowy pasek życia" Może zamieszczę mój kod razem z tamtym z przykładu: GML /*Pokazujemy energie Funkcja sluzy zarazem do manipulacji energią, dodatnia wartosc, to dodanie, ujemnie, odjecie, a zerowa, to brak zmiany */ if distance_to_object(player) < 1 { energia -= 5 } energia_pokaz(-1); if ( energia == 0 ) instance_destroy(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 20 Lutego 2011 Udostępnij Opublikowano 20 Lutego 2011 zmien nazwe obiektu w kodzi na obiekt wroga, bo warunek sprawdza odleglosc bohatera od bohatera i zawsze wychodzi < ilestam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nowy Opublikowano 20 Lutego 2011 Udostępnij Opublikowano 20 Lutego 2011 Tu masz przykład jak to zrobić: Klik Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Caporegime Opublikowano 20 Lutego 2011 Autor Udostępnij Opublikowano 20 Lutego 2011 Zmieniłem zamiast "player" jest "enemy1" i ustawiłem na 4 dystans. Niestety, bez skutków. Może powinienem rozdzielić kod przykładu i "walki"? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Caporegime Opublikowano 21 Lutego 2011 Autor Udostępnij Opublikowano 21 Lutego 2011 Nowy, chciałem zastosować twój kod, ale mam Lite Edition, a jego elementy są dla Pro. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 21 Lutego 2011 Udostępnij Opublikowano 21 Lutego 2011 https://gmclan.org/up6767_12_5f96416f3c.html przykład użytkownika "Nowy", tyle, że nie powinno już być tylko dla wersji PRO, ale i na Lite. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
M@ILOSZ Opublikowano 21 Lutego 2011 Udostępnij Opublikowano 21 Lutego 2011 @Caporegime: 1. A na pewno dałeś w obiekcie przeciwnika? 2. a co to za skrypt "energia_pokaz(-1);"? Może spróbuj umieścić to zaraz po "energia -= 5" przed nawiasem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Caporegime Opublikowano 22 Lutego 2011 Autor Udostępnij Opublikowano 22 Lutego 2011 Dzięki wielkie wszystkim za pomoc, w końcu się udało :D 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ę