XivroX Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 Witam :sp_ike: Czy macie może jakiś skrypt, ew. istnieje taka funkcja, która sprawdzi, czy kursor myszki znajduje się w wielokącie? W prostokącie wyglądałby (ten skrypt) tak: GML if(mouse_x>=x1) &&(mouse_x<=x2) &&(mouse_y>=y1) &&(mouse_x<=y2) {return true;} else {return false;} ale poszukuję kodu na wielokąt, tak jak tutaj (to co ma zwracać funkcja): ach ten cudowny paint xD Może to nie będą, aż tak oryginalne wielokąty, ale sześcio- siedmioboki będą. Z góry dziękuję :thumbsup: (wiem, że to baaardzo łatwe (dla niektórych, nie mnie), więc jeżeli to nie ten dział, to proszę przenieść) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 Wersja PDF: http://www.izdebski.edu.pl/WykladySIT/WykladSIT_09.pdf Wersja HTML: http://209.85.129.132/search?q=cache:KCh0B...t=clnk&cd=1 Powinno pomóc :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 1 Lutego 2009 Administratorzy Udostępnij Opublikowano 1 Lutego 2009 O wyznaczniki macierzy, własnie z tego oblałem studia :P Ja to bym zrobił w paincie sprite i użył place_free, a jak chcesz sie bawić w bardziej zaawansowane obliczenia, to miłej zabawy :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 Ja to bym zrobił w paincie sprite i użył place_free Gorzej jak kształt się dynamicznie zmienia, wtedy pozostaje to, bo będzie i tak szybsze niż robienie nowego sprite'a co klatke Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 1 Lutego 2009 Administratorzy Udostępnij Opublikowano 1 Lutego 2009 No tak, zalezy jakie zastosowanie ma być :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XivroX Opublikowano 1 Lutego 2009 Autor Udostępnij Opublikowano 1 Lutego 2009 niee! tylko nie matematyka! jak ja nienawidzę matematyki! xD nie ma jakichś łatwiejszych sposobów? co do Gorzej jak kształt się dynamicznie zmienia, wtedy pozostaje to, bo będzie i tak szybsze niż robienie nowego sprite'a co klatke to kształt nie będzie się dynamicznie zmieniał, będzie stały. To miało być raczej proste: Zwróć true, jeżeli kursor znajduje się wewnątrz wielokąta. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 Jeśli będzie stały to zrób sprita w kształcie tego wielokąta. Proste. :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XivroX Opublikowano 1 Lutego 2009 Autor Udostępnij Opublikowano 1 Lutego 2009 I co dalej? Zrobiłem funkcją draw_sprite, i jak już narysuję, to co dalej mam zrobić? W ogóle odwołać się do tego nie mogę. Obiektów nie mogę użyć, bo, musiałbym ich w jednym roomie ustawić kilkadziesiąt, w niektórych roomach nawet kilkaset (!), a wiadomo, że tyle obiektów może tak obniżyć FPSy, że głowa mała. W tym, co mi dał Psychix trochę się orientuję, lecz nadal nie mam pojęcia jak to zaaplikować do GMa, jeżeli ktoś podpowiedziałby mi praktycznie co mam zrobić (gdyż teoretycznie to akurat umiem) to byłbym wdzięczny. Czekam też na dalsze odpowiedzi :* Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 może się mylę ale przecież można by to było zrobić tak że gdy myszka dotknie obiektu wielokąt to zmienia się zmienna np kolizja na true a jak nie to się zmienia na false... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 Właśnie sie nie mylisz, o tym już gnysek mówił, ale kolega XivroX widać tego nie zauważył :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XivroX Opublikowano 1 Lutego 2009 Autor Udostępnij Opublikowano 1 Lutego 2009 problem w tym , że jakbym chciał mieć pełno obiektów to bym już dawno to zrobił =/ szukam jakiegoś innego sposobu na np. taki skrypt: podaję x i y wszystkch boków wielokąta, a on mi wylicza, czy kursor zawiera się w tym wielokącie czy nie... ehh... chyba jednak będę zmuszony gwałtownie obniżyć fpsy =/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 to chyba było by już łatwiej zrobić drugiego game makera w game makerze.... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 XivroX, zeby sprawdzac kolizje nie musisz rysowac sprite'a, wystarczy ze nadasz obiektowi maske, rownoczesnie nie dajac mu zadnego sprite'a. sprawdzanie kolizji w tym przypadku nie wplynie widocznie na fps, no chyba ze takich obiektow chcesz miec multum. Powiedz lepiej jak wygladac ma sytuacja w grze to sie dopasuje metode Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XivroX Opublikowano 1 Lutego 2009 Autor Udostępnij Opublikowano 1 Lutego 2009 Więc tak... W roomie ma być kilkadziesiąt / kilkaset (biedne FPSy) różnych wielokątów różnych kolorów (w takiej niewidzialnej tabelce - każdy w jednej niewidzialnej kratce). Po najechaniu myszką na jeden z tych kilkudziesięciu /kilkuset wielokątów, ten zmienia kolor, a po naciśnięciu wykonuje się akcja (taka sama dla wszystkich) - kolor może być trzymany w tablicy 2wymiarowej. Nawet się nie ważcie pytać po co mi to, to nie będzie miało sensu ;x Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 Albo maluj na surface'ie i sprawdzaj surface_getpixel(). Ewentualnie ja bym to zrobił tak - zapisał wielobok jako kilka trójkątów (albo zrobił automatyczny podział) i sprawdzał kolizję osobno z każdym z trójkątów (oczywiście, dzieląc je jakby na trzy trójkąty i porównując pola - chyba wiecie, o co mi chozi...?). Nie mówię, że to jest dobre, ale ja bm to najpierw zrobił :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 hmm, jeśli każda instancja każdego kształtu miałaby inny kolor kluczowy to wtedy pomysł z surface zadziała, wtedy podczas wykrywania id danej instancji z jaka koliduje punkt będzie wyliczał id z koloru danego pobranego pixela, dodawał te 100000 (+/- jedno zero, nie pamietam) od ktorych zaczyna numeracje instancji i wtedy bedzie mozna miec w roomie do 255^3 instancji. oczywiscie na jednym surfaces mozna rysowac ksztalty z kolorem wlasnie wyliczanym na podstawie id (tak jak to przed chwila opisalem) a drugi surfaces do juz wlasciwego rysowania figur, ktore maja byc widoczne. A pomysl z dzieleniem ksztaltow na trojkaty, ktore jeszcze raz zostana podzielone na kolejne trojkaty, nie bedzie najlepszym (w tym przypadku najszybszym) rozwiazaniem, juz lepiej skozystac z tego algorytmu do ktorego opisu dalem wczesniej link :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Firemark Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 niee! tylko nie matematyka! jak ja nienawidzę matematyki! xD nie ma jakichś łatwiejszych sposobów? lol! jak nie lubisz matematyki to jak chcesz programować? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 od tego są kalkulatory! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 1 Lutego 2009 Udostępnij Opublikowano 1 Lutego 2009 Kalkulatory tez ktos zaprogramowal, a kazdy szanujacy sie programista powinien upodobac sobie matematyke, a jak nie upodobac to po prostu przemoc sie do niej ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 3 Lutego 2009 Udostępnij Opublikowano 3 Lutego 2009 a odnośnie matematyki to praktycznie cały kod gry/programu to właśnie ten przedmiot... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XivroX Opublikowano 3 Lutego 2009 Autor Udostępnij Opublikowano 3 Lutego 2009 to chyba te objecty to jedyny porządny sposób. ;[ można temat zamknąć, bo sobie tu ludy posta nabijają :] no chyba, że ktoś zna odpowiedź inną od tych wymienionych... @up Naprawdę? : O ! Jakoś nie widziałem abym się uczył na matmie "Co to jest i do czego służy funkcja instance_create() ?" 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ę