ylebex Opublikowano 23 Marca 2005 Udostępnij Opublikowano 23 Marca 2005 Witam wszystkich, to mój pierwszy post więc proszę o wyrozumiałość. Od tygodnia poznaję GM6.0 i próbuje stworzyć grę w stylu piłkarzyków w barze. Ogólnie wszystko już chodzi, :D ale mam pewien problem (próbowałem znaleźć odp. na forum ale po przeczytaniu kilkudziesięciu postów wymiękłem). Chodzi o odbijanie piłki od zawodników, wyglądają podobnie do ludzika z GTA co oznacza ze mają nieregularny obwód. I piłka odbijająca się od nich czasami zawiesza się na zawodniku, albo co gorsza zawodnik wbija piłkę w ścianę i ona tam zostaje, czytałem, że można jakiegoś przeźroczystego sprite'a zrobić chyba co podąza za zawodnikiem ale nie do końca to rozumiem.Proszę Panowie HELP ME. I drugi problem. Mam zawodników, ruszaja sie góra-dól i są w tej samej linii ustawieni ( z tej samej druzyny) tak : ----------------- x x ----------------- Sciany sa solid i jak jeden z zawodników (x) jej dotknie to sie zatrzymuje ale drugi wpada na niego i potem juz wracają w dół razem. Jak zrobić aby odległośc miedzy nimi sie nie zmniejszala a jak jeden dotknie sciany to inne sie juz nie ruszają tylko zatrzymuja ? Dzieki temu mialbym efekt jak w prawdziwych piłkarzykach :] . Dzieki za pomoc. Pozdrawiam wszystkich :bye1: Ylebex Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Firemark Opublikowano 23 Marca 2005 Udostępnij Opublikowano 23 Marca 2005 1 problem to robisz nowego spritera i dajesz go do objectu jako mask. 2 problem może go nie rozumiem,ale jakoś nie wiem jak go rozwiącać.Sory :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 23 Marca 2005 Filar Społeczności Udostępnij Opublikowano 23 Marca 2005 1. Tak jak juz firemark napisal, robisz nowego sprite'a ( wypełnione koło ) i podpinasz go obiektu jako mask, czyli maska kolizji. 2. Information about object: pion Sprite: sprite1 Solid: false Visible: true Depth: 0 Persistent: false Parent: <no parent> Mask: <same as sprite> Create Event: execute code: yy = 0; End Step Event: execute code: y += yy; yy = 0; Keyboard Event for <Up> Key: execute code: if ( place_free ( x , (100017).y - 1 ) ) yy = -1; else yy = 0; Keyboard Event for <Down> Key: execute code: if ( place_free ( x , (100020).y + 1 ) ) yy = 1; else yy = 0; Stwórz u siebie takie same eventy i akcje w pionach tego samego typu (co stoja w jednej linii), tylko zmien 100017 na id piona o najwyzszej pozycji a 100020 na id piona o najnizszej pozycji. Id jest pokazywane na samym dole w oknie tworzenia planszy gdy najedziesz myszka na dany obiekt. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marmot Opublikowano 23 Marca 2005 Udostępnij Opublikowano 23 Marca 2005 Tak jak juz marmot napisal Eee? Ja nic nie opisywałem :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ylebex Opublikowano 23 Marca 2005 Autor Udostępnij Opublikowano 23 Marca 2005 Bardzo Wam dziękuję... :thumbsup: Wieczorem (teraz praca :] ) wypróbuje. Jutro zamieszcze screeny, gra będzie na dwóch graczy (na razie ) i stąd wynika jeszcze jedno moje pytanie: Jeden gracz porusza swoich graczy strzałkami góra-dół, a drugi W-S. Robię to na klockach bo jeszcze kodu nie do końca kumam. W klocku wpisuje, ze jak events->keyboard->up to start moving in a direction ^ z predkoscia 8. Analogicznie na dół i ruchy drugiego gracza. Kiedy puszczam klawisz to zawodnicy sie zatrzymuja, ale jezeli drugi gracz w tym samym czasie naciska swoje to moi sie nie zatrzymuja. Probowalem to zrobic jako 'no key' lecz gra nie widzi stopu ruchu bo drugi gracz gra w tym czasie. Prosze o podpowiedz (nawet w formie zjeb... :boxed: za takie proste pytanie) ale to bardzo przeszkadza grac. Wielkie dzieki z góry Pozdrowienia dla Marmota i Ranma Mana. I oczywiście Firemarka :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marmot Opublikowano 23 Marca 2005 Udostępnij Opublikowano 23 Marca 2005 Możesz dać sprawdzanie czy są naciskane klawisze gracza 1: if keyboard_check(vk_up) { // kod na naciśnięcie } else { // kod co ma być bez naciśnięcia } itd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ylebex Opublikowano 24 Marca 2005 Autor Udostępnij Opublikowano 24 Marca 2005 1 problem to robisz nowego spritera i dajesz go do objectu jako mask. <{POST_SNAPBACK}> Witam Panów, :] dodatkowe małe pytanko. Czy mam maski użyć tylko na zawodnikach, piłce czy tu i tu, bo jest dużo lepiej ale jednak nie idealnie ? Mogę na przykład wpaść bokiem rakietki na mijającą ją piłkę, zatrzymuje to ją (piłkę) a jak odjadę rakietką to rusza się dalej. I piłka i rakietka nie sa już solid. Piłka ma jako maskę czarne koło (większe trochę od niej samej) z białym wypełnieniem. Może źle zrozumiałem jak robić tą maskę. Pomóżcie dobrzy ludzie. B) Dzięki. rakietka = zawodnik (taki testowy :blink: ) Ylebex Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 24 Marca 2005 Filar Społeczności Udostępnij Opublikowano 24 Marca 2005 Chodzi o to byś w polu mask wybrał sprite z narysowanym kołem i przezroczystym tłem. Normalnie GM rysuje grafike i ustawia system kolizji na podstawie sprite'a, który się podłącz obiektom. W polu mask można wybrać sprite'a, na podstawie którego będzie ustalone pole kolizji obiektu. Nie musisz robić maski piłce, ponieważ jest ona okrągła, więc pole kolizji takiego sprite'a jest wystarczające. A co do zatrzymania się piłki itd. No i tu właśnie cały haczyk jest, bo taki bezbłędny system trzeba samemu sobie zrobić, napisać. :) 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ę