Moldis Opublikowano 25 Stycznia 2007 Udostępnij Opublikowano 25 Stycznia 2007 Mam problem otóż robie grę na 2 osoby. Zrobiłem 2 obiekty (gracz1 i gracz2) i nie mam zielonego pojęcia jak zrobić do tego controler życia. Wpadłem na pomysł aby w danym obiekcie zrobić co się ma stać kiedy skończy się hp. Ustawiłem że jeśli się ono skończy to ma odjąć 1 życie ustawić z powrotem 100 energii i przenieść gracza na pozycję startową. Jednak gdy gracz ginie od razu traci wcześniej ustawione 2 życia. W dodatku nie wiem jak mogę wyświetlić na ekranie energie jednego i drugie po drugiej stronie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 25 Stycznia 2007 Udostępnij Opublikowano 25 Stycznia 2007 Na początku gry powinieneś zainicjować zmienną globalną zycie[0] i zycie[1] (dla 1. i 2. gracza). To samo zrób z odpowiednikiem health - zdrowie. CREATE: global.zycie[0]=3 global.zycie[1]=3 global.zdrowie[0]=100 global.zdrowie[1]=100 I po prostu używać ich jak lives/health. Ważne jest jednak, by ta akcja nie znajdowała się w ramce z poziomem. Jak pokazywać pasek życia dla obydwu graczy? Gdzieś na forum jest mój przykład "Liczniki", może się przydać. A tu daję kod, tak na szybko: draw_set_color(dowolnykolor) draw_rectangle(32,32,132,64,0) draw_rectangle(508,32,608,64,0) draw_set_color(dowolnykolor) draw_rectangle(32,32,32+global.zdrowie[0],64,0) draw_rectangle(508,32,508+global.zdrowie[1],64,0) draw_set_color(c_black) draw_rectangle(32,32,132,64,1) draw_rectangle(508,32,608,64,1) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Moldis Opublikowano 25 Stycznia 2007 Autor Udostępnij Opublikowano 25 Stycznia 2007 wiem bardzo głupie pytanie ale jak je można zainicjować ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 25 Stycznia 2007 Udostępnij Opublikowano 25 Stycznia 2007 wiem bardzo głupie pytanie ale jak je można zainicjować ? Akcja "Create -> Execute a piece of code" (chyba tak) i tam wklepujesz wszystkie zmienne :). global.zycie[0]=3 global.zycie[1]=3 global.zdrowie[0]=100 global.zdrowie[1]=100 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Moldis Opublikowano 25 Stycznia 2007 Autor Udostępnij Opublikowano 25 Stycznia 2007 wyskakuje mi teraz błąd: Error in code at line 6 draw_rectangle(508,32.....) at position 35:Unknow warible zdrowie or array index out of bounds @EDIT przepraszam ale źle wcześniej to napisałem :/ @EDIT2 aha juz rozwikłałem sprawę była literówka w wyrazie XD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 25 Stycznia 2007 Udostępnij Opublikowano 25 Stycznia 2007 wyskakuje mi teraz błąd: error in action number 1 of draw_rectangle(508,32.....) at position 35:Unknow warible zdrowie or array index out of bounds A w którym obiekcie zainicjowałeś zmienne i czy jest ten obiekt może na planszy? ;) I, zapomniałem dodać, akcje: draw_set_color(dowolnykolor) draw_rectangle(32,32,132,64,0) draw_rectangle(508,32,608,64,0) draw_set_color(dowolnykolor) draw_rectangle(32,32,32+global.zdrowie[0],64,0) draw_rectangle(508,32,508+global.zdrowie[1],64,0) draw_set_color(c_black) draw_rectangle(32,32,132,64,1) draw_rectangle(508,32,608,64,1) najlepiej daj w tym samym obiekcie w "Draw". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Moldis Opublikowano 25 Stycznia 2007 Autor Udostępnij Opublikowano 25 Stycznia 2007 mam teraz następny problem gdzie mogę ustawić aby np jak graczowi 1 skończy się hp to ma mu odjąć 1 życie i przenieść na miejsce startu. I jak się skończą wszystkie życia to żeby się pojawił napis gracz 2 wygrał lub gracz 1 wygrał. i jeszcze coś jak mogę operować na globalnych w gml'u np odejmować od nich albo dodawać ? bo się go dopiero uczę @Edit juz wiem jak się operuje na nich ;D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 25 Stycznia 2007 Udostępnij Opublikowano 25 Stycznia 2007 mam teraz następny problem gdzie mogę ustawić aby np jak graczowi 1 skończy się hp to ma mu odjąć 1 życie i przenieść na miejsce startu. I jak się skończą wszystkie życia to żeby się pojawił napis gracz 2 wygrał lub gracz 1 wygrał. BO kompletnie nie znam się na gml'u wszystko buduje w klockach 1. Wystarczy skrypt z użyciem if (jeśli): if global.zdrowie[0]<=0 //jeśli zdrowie jest mniejsze/równe 0, to { global.zdrowie[0]=100 //ustaw życie na 100 global.zycie[0]-=1 //lecz odejmij życie x=xstart //przywróć początkową pozycję x y=ystart //przywróć początkową pozycję y if global.zycie[0]=0 //jeśli żyć 0, to { show_message("Wygrał gracz drugi!") //pokaż wiadomość game_restart() //zresetuj grę } } Kod wstawiamy w STEP obiektu gracza 1. Przy graczu sprawa jest identyczna, z tą tylko różnicą, że zamieniamy [0] na [1]. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Moldis Opublikowano 25 Stycznia 2007 Autor Udostępnij Opublikowano 25 Stycznia 2007 bardzo ci dziękuję Jakim wsadzę cię do credits'ów XD temat można zamknąć 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ę