Arion Weliner Opublikowano 7 Kwietnia 2009 Udostępnij Opublikowano 7 Kwietnia 2009 Wygrzebałem GMa spod kurzu, i zacząłem robić silnik strategii w czasie rzeczywistym. Zaczynam o jednostek i mam 2 objecty, koleś czerwony i koleś niebieski. koleś czerwony ma w Create kod selected=0 A w Mouse Left Button zmiana grafiki na czerwony podświetlony i odegranie dźwięku klik oraz kod selected=1 Nie wiem jak zrobić ramkę która u zaznaczonych jednostek wykona akcję taką jak w left button. Oraz akcję, która po kliknięciu lewym przyciskiem myszy dowolne inne miejsce sprawi że wszystkie zaznaczone jednostki zmniejszą selected=1 do selected=0 . A to dopiero kawałek problemu. Nie wiem jak zrobić żeby jednostki z selected=1 przesunęły się w miejsce gdzie kliknę prawym przyciskiem myszy. Zrobiłem prymitywny system walki wręcz ale polega on na dotknięciu przeciwnika a następnie odbieraniu obydwóm życia, przez co 1 rani na raz 10 jednostek jeśli się stykają. Jeśli ktoś ma pomysł na udoskonalanie go to chętnie zobaczę. Nie dawajcie przykładów bo zbyt trudno je potem sklejać i konfigurować do swoich upodobać bo wszystko musisz przeglądać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 7 Kwietnia 2009 Udostępnij Opublikowano 7 Kwietnia 2009 GML //Metoda na hama global.go_x = docelowy_x; global.go_y = docelowy_y; with(jednostka) { if(selected) { //ide } } Co do zaznaczania mógłbyś zastosować collision_rectangle(), bądź samemu sprawdzać po pozycji. Czyli w jakimś tam obiekcie kontrolującym zaznaczenia ustawiasz zmienne: global.select_x1, global.select_y1, global.select_x2, global.select_y2. I w Stepie jednostki sprawdzasz, czy znajduje się w zaznaczonym obszarze. Ew. Od razu w obiekcie kontrolującym zaznaczenia, za pomocą with. Można by również zrobić system zaznaczeń przechowując w tablicy/liście id zaznaczonych, ale to tak jako ciekawostka. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arion Weliner Opublikowano 7 Kwietnia 2009 Autor Udostępnij Opublikowano 7 Kwietnia 2009 Właśnie wkleiłem skrypt do Right button, nie działał, pozmieniałem parę rzeczy, dalej nie działał. jak to skonfigurować? Co do ramki nie czaje ale zobaczę może mi się uda. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Wezyr Opublikowano 7 Kwietnia 2009 Udostępnij Opublikowano 7 Kwietnia 2009 A podaj cały kod jaki dałeś w right button. I czemu right button ??? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arion Weliner Opublikowano 7 Kwietnia 2009 Autor Udostępnij Opublikowano 7 Kwietnia 2009 wydawało mi się że tam jak chodzenie prawym przyciskiem myszy :D A kod już podał Dawidds . Ja tylko kombinowałem bezskutecznie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Wezyr Opublikowano 7 Kwietnia 2009 Udostępnij Opublikowano 7 Kwietnia 2009 To powinno być global right button bo warunek right button to jak klikniesz centralnie w x i y obiektu, a global right button to jeśli klikniesz wogule. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arion Weliner Opublikowano 8 Kwietnia 2009 Autor Udostępnij Opublikowano 8 Kwietnia 2009 Teraz błąd wyskakuje po wciśnięciu prawego przycisku. ERROR in action number 1 of Mouse Event for Glob Right Button for object Czerwony koles: Error in code at line 3: global.go_x = docelowy_x; at position 16: Unkown virable docelowy_x wiecie jak to poprawić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Wezyr Opublikowano 8 Kwietnia 2009 Udostępnij Opublikowano 8 Kwietnia 2009 Nie ma takiej zmiennej, musisz np w create przypisać jej coś (na przykład): GML (Create) docelowy_x=x docelowy_y=y Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
freeVenge Opublikowano 8 Kwietnia 2009 Udostępnij Opublikowano 8 Kwietnia 2009 i jak klikasz to docelowy_x=mouse_x i docelowy_y=mouse_y 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ę