I am Żyd and Lewak Opublikowano 27 Września 2012 Opublikowano 27 Września 2012 GMK (Zostanie usunięte po udzieleniu odpowiedzi) GML with(OBJ) { if not collision_point(x-16,y,OBJ /* Jak zrobić kolizje z takim samym objektem? */,1,1) { if keyboard_check(ord('A')) {x-=3} if keyboard_check(ord('D')) {x+=3} if keyboard_check(ord('W')) {y-=3} if keyboard_check(ord('S')) {y+=3} } } Gra nie może zawierać sprite'ów ani więcej niż 2 object'ów na object liście
MXQ Opublikowano 27 Września 2012 Opublikowano 27 Września 2012 nie wiem czy o to Ci chodzi ale za OBJ wstaw nazwę obiektu... tak to zrozumiałem, btw DAFACK "PYTANIA ZAAWANSOWANYCH"
Konrad-GM Opublikowano 27 Września 2012 Opublikowano 27 Września 2012 Bez masek (czy spritów, defaultowo oznaczane również jako maski) żadna kolizja nie nastąpi - nawet poprzez funkcje collision_*.
I am Żyd and Lewak Opublikowano 27 Września 2012 Autor Opublikowano 27 Września 2012 Poprawka GML with(OBJ) { if not collision_point(x-16,y,OBJ /* Jak zrobić kolizje z takim samym objektem? tylko inną z inną właściwością */,1,1) { if keyboard_check(ord('A')) {x-=3} if keyboard_check(ord('D')) {x+=3} if keyboard_check(ord('W')) {y-=3} if keyboard_check(ord('S')) {y+=3} } } właściwością a mianowicie OBJ.type
Konrad-GM Opublikowano 27 Września 2012 Opublikowano 27 Września 2012 Należy użyć właściwość języka jakim jest: ID poszczególnych obiektów GML with OBJ { if( collision_point( other.x+16, other.y, id, 1, 0 ) && other.type == type ) // notme nalezy ustawic na 0, gdyz sprawdzamy kolizje wlasnie z 'TYM' obiektem { [...] } }
Administratorzy gnysek Opublikowano 28 Września 2012 Administratorzy Opublikowano 28 Września 2012 other masz tylko w trakcie kolizji - ogólnie jak coś nie ma sprite/maski, to nie ma kolizji, bo nie ma rozmiaru - jest niemierzalne - można co najwyżej sprawdzać czy x,y są w jakimś tam prostokącie, ale to jest prosta matematyka przecież (sprawdzanie czy punkt jest w prostokącie)
Konrad-GM Opublikowano 28 Września 2012 Opublikowano 28 Września 2012 Nie wiem jak jest w GM:Studio, ale do gm8 other również można używać by odwoływać się do własności instancji która poprzedza with. Drzewo typu: GML var _val; with OBJ { caller = other.id; with ANOTHER { _val = id; with other { another_id = _val; } } // to samo co wyżej po 'with other' another_id = _val; } Również działa.
Administratorzy gnysek Opublikowano 28 Września 2012 Administratorzy Opublikowano 28 Września 2012 Tak :)
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ę