VenToX Opublikowano 16 Lipca 2006 Udostępnij Opublikowano 16 Lipca 2006 mam pare pytań.... w sumie są banalne ale nie wiem jak sobie z nimi poradzić gdyż w programie game maker jestem newbie... jak zrobić żeby np. jakiś potwór chodził losowo w dowolnych kierunkach po mapie, a jak np. skręci w lewo to jego animacja się zmieni jak chodzi w lewo, jak pójdzie do góry to animacja jak idzie do góry ( mam już je gotowe ). jak by ktoś wiedział to proszę aby dawac jak najmniej kodów bo sie na tym nie znam :( a jak juz bedzie trzeba to powiedziec gdzie dokladnie to trzeba wkleic. I jeszcze chcialbym dodac ze mam GM 5.0 nie zarejestrowany. Prosze o pomoc! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 16 Lipca 2006 Udostępnij Opublikowano 16 Lipca 2006 Na samych klockach: w OBJECT potworka dajesz w evencie CREATE klocek 'set value of a variable' nazwij tą zmienną "move" albo "chodzenie" i daj wartość (value) równą zero ( czyli 0 ). Również w Evencie CREATE dajesz klocek o nazwie 'Alarm 0' lub jakiś inny Alarm 1,2 lub 3 zalezy ile uzywasz. Teraz dajesz w Evencie ALARM 0 (lub jaka tam cyferke wybrałeś) takie klocki po kolei: "set value of a variable" nazwa zmiennej: "move" (to samo co w create) a w wartości dajesz ' round(random(4)) ' (tak dwa nawiasy na końcu :P) "if a variable has a value" i tam ustawiasz 'equal' zmienna 'move' i wartość 1 'Start of a block' tu bedzie bloczek 'Change the sprite' to ci zmienia obrazek oczywiście :P 'start moveing in a direction' wybierasz kierunek ruchu i szybkosc 'end of a block' dalej dajesz to samo 3 razy tylko zmieniasz 'set value of a variable' na inną liczbe (od 0 do 4) i zmieniasz sprite i kierunek ruchu. powinny ci wyjsc 4 kierdunki- wartosci move od 1 do 4 licza 0 tez moze zostac wylosowana wtedy sprite bedzie stał w miejscu, jeśli nie chcesz zeby stał w miejscu to na pocztaku dajesz round(random(3)) i przyporzadkowujesz 4 kierunki liczbom od 0 do 3 Na samym końcu daj klocek 'set an alarm clock' i daj alarm 0 i jakaś wartosc (jak czesto sprite ma sie poruszać) i już ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
VenToX Opublikowano 16 Lipca 2006 Autor Udostępnij Opublikowano 16 Lipca 2006 Wielkie dzieki... teraz juz jest wszystko ok. ale mam jeszcze jedno pytanie :) powiedzmy ze juz sobie chodzi losowo ten moj przeciwnik (widze go) lecz jak przybliże się do niego do określonej odległości, przestanie już chodzić byle gdzie, tylko zacznie podążac za bohaterem (bedzie sie staral zeby ciagle byla kolizja)... mam nadzieje ze jest to do zrobionia :) prosilbym aby to bylo wytłumaczone jak powyzej i na klockach oczywiscie. :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 17 Lipca 2006 Udostępnij Opublikowano 17 Lipca 2006 A dlaczego używasz 5.0 zamiast 6.1? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 17 Lipca 2006 Udostępnij Opublikowano 17 Lipca 2006 Bo 5.0 nie wymaga tyle co 6.1? :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 17 Lipca 2006 Udostępnij Opublikowano 17 Lipca 2006 ściągnij sobie GM6.1 :P GMy sie troche róznią między sobą więc nie wiem czy wszystko co ci pwoiem będzie ci działać ;) co do chodzenia za Twoim bohaterem da się zrobić. :P ale potrzebujesz troche kodu :) w tym alarmie 0 wszystkie klocki jakie dałeś (łacznie z z ostatnim który ustawiał ci alarm) weź w następny block a przed nimi dajesz dwa klocki pierwszy to klocek z kodem i tam wpisujesz coś takiego: if distance_to_object(obj) < 50 //zamiast obj wpisz nazwe obj bohatera, 50 to odległość od bohatera, jeśli chcesz to zwiększ tą liczbe :) { move_towards_point(obj.x,obj.y,0) // obj.x i obj.y zastępujesz nazwą objecta bohatera zostawiając na końcu .x i .y (np bohater.x,bohater.y,0) // 0 to szybkość } w kodzie wykasuj sobie wszystko co napisałem za znaczkami // (łacznie ze znaczkami) ale jesli tego nie zrobisz to też będzie działać ;) po tym klocku dajesz klocek 'else' i to są te dwa klocki które musisz dodać ;) powinno działać, jeśli chcesz pokombinować możesz również wyciągnać ostatni klocek "set alarm 0" poza 'block' :) chyba będzie inny efekt ale nie jestem pewien. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
VenToX Opublikowano 17 Lipca 2006 Autor Udostępnij Opublikowano 17 Lipca 2006 Wszystko chodzi :) wiele tobie zawdzięczam. chyba sobie wezme Gm 6 ale mam jeszcze ostatnie pytanie. jak już je rozwiąże juz nie będzie żadnych problemów z chodzeniem przeciwnika :). żeczywiście jak jest jakaś odległość, zaczyna za mną podążać..... ale zapomnialem napisac aby animacja sie zachowala ( tzn. ze nie ma isc do przodu a jest odwrocony plecami ). ale wydaje mi sie... ze jak by sie w jakiś sposób usunęło chodzenie przeciwnika na ukos jak za mną podąża wszystko by było ok ale nie jestem pewien (takie moje przypuszczenia) jeśli jeszcze nie masz mnie dosc i wiesz jak to zrobic to mozesz napisac :P ale w koncu po to jest forum, zeby pomagac takze takim jak ja:) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 17 Lipca 2006 Udostępnij Opublikowano 17 Lipca 2006 Da się zrobić ale jeszcze czegos takiego nie robilem :P czekaj, skręce jakiś kod to jak będzie działać to napisze :P *edit* if distance_to_object(o1) < 10000 && o1.y < o2.y { sprite_index=sprCHARUP move_towards_point(o1.x,o1.y,1) } if distance_to_object(o1) < 10000 && o1.y > o2.y { sprite_index=sprCHARDOWN move_towards_point(o1.x,o1.y,1) } if distance_to_object(o1) < 10000 && o1.x < o2.x { sprite_index=sprCHARLEFT move_towards_point(o1.x,o1.y,1) } if distance_to_object(o1) < 10000 && o1.x > o2.x { sprite_index=sprCHARRIGHT move_towards_point(o1.x,o1.y,1) } Kod nie jest doskonały ale nie mam głowy teraz :P narazie to co ci dałem ostatnio zastąp tym ;) wszystkie obiekty o1 zastępujesz nazwą swojego bohatera, o2 to obiekt który cię ściga (pamitętaj żeby zostawić końcówki .x i .y !!!) liczba 10000 to odległośc w pikselach. sprCHARUP, sprCHARDOWN, sprCHARLEFT, sprCHARRIGHT to odpowiednio nazwy spritów bohatera ;) Problem polega na tym ze nawet jak jestes centralnie pod lub nad obiektem który cię ściga on dalej jest odwrócony na bok, próbowałem mieszać w kodzie ale to dużo nie dało, może ktoś bardziej doświadczony będzie umiał to ustawić ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
VenToX Opublikowano 17 Lipca 2006 Autor Udostępnij Opublikowano 17 Lipca 2006 mimo wszystko duzo mi pomogles :) z tym nowym kodem wszystko chodzi lepiej i to mi wystarczy :] oczywiscie jak ktos zna lepszy sposob to moze pisac. dzieki za wszystko 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ę