Ra3l Opublikowano 21 Listopada 2009 Udostępnij Opublikowano 21 Listopada 2009 Potrzebuje zrobić coś takiego że obiekt hero przeskakuje przez środek kręgu, obrazek po lewej. I gdy spadnie na dolną część kręgu to następuje kolizja i dead. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
qanaroo Opublikowano 21 Listopada 2009 Udostępnij Opublikowano 21 Listopada 2009 To zrób to z trzech obiektów (czy tam dwóch, jeśli na górze nie ma być kolizji) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ra3l Opublikowano 21 Listopada 2009 Autor Udostępnij Opublikowano 21 Listopada 2009 no właśnie też tak myślałem... i zmienić tylko temu z przodu i tylu depht. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 21 Listopada 2009 Udostępnij Opublikowano 21 Listopada 2009 maska koła (w jednym obiekcie) powinna wyglądać tak: ^ v będzie przelatywać przez środek - nie wykryje kolizji. walnie o brzegi - bum Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ra3l Opublikowano 21 Listopada 2009 Autor Udostępnij Opublikowano 21 Listopada 2009 Ale nie będzie leciał w środku O tylko obok. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 21 Listopada 2009 Udostępnij Opublikowano 21 Listopada 2009 jak narazie widzę niestety tylko dwa rozwiązania: - w drawie przeskakującego obiektu rysować również obręcze (najpierw połowę przed, później za) - rozdzielić na dwa obiekty z różną głębokością (depthem) lepiej niech ktoś bardziej obeznany się wypowie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ra3l Opublikowano 22 Listopada 2009 Autor Udostępnij Opublikowano 22 Listopada 2009 Tak jak piszesz w drugim - już zrobiłem i jest dobrze i tak zostanie w miarę dobre rozwiązanie. Mnie satysfakcjonuje. Jest z resztą o tym wyżej. Teraz mam drugie pytanie, nie będę drugie tematu zakładał. Mam chodzenie platformowe, grawitacje, i skok. Właśnie skok... chodzi o to że hero mi skacze ale jak w locie nacisnę strzałkę w bok to zmienia kierunek i leci w lewo albo w prawo. A potrzebuje czegoś takiego że jak skaczę stojąc w miejscu, to w locie nie mogę się ruszyć w bok. A jak skaczę idąc w prawo, czy w lewo leci w prawo, ale nie mogę w powietrzu go zatrzymać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 22 Listopada 2009 Udostępnij Opublikowano 22 Listopada 2009 Proszę: GML if(!place_free(x,y+1)) //jeżeli jest pod nami przeszkoda==jesteśmy na ziemi { //ruch } else //akcja gdy jestesmy w powietrzu (opcjonalne) { //cos specjalnego dla skoku } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ra3l Opublikowano 22 Listopada 2009 Autor Udostępnij Opublikowano 22 Listopada 2009 Ej nie obraź się ale co Ty mi dałeś ? Ja nie potrzebuję grawitacji ani nic z tych rzeczy. Potrzebuję coś takiego że w locie nie mogę zmieniać kierunku skoku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 22 Listopada 2009 Udostępnij Opublikowano 22 Listopada 2009 Ej no, byś pomyślał trochę. Warunek sprawdza, czy jesteś na ziemi. Jak tak to wykonuje akcje dla ruchu jesli takie są. Jak jest w powietrzu, warunek jest nie spełniony, więc i akcje ruchu są zablokowane. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ra3l Opublikowano 22 Listopada 2009 Autor Udostępnij Opublikowano 22 Listopada 2009 I nie działa tak jak powinno. Bo co prawda w powietrzu nie mogę zmienić kierunku. Ale też nie mogę skoczyć w bok, mogę tylko w górę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 22 Listopada 2009 Udostępnij Opublikowano 22 Listopada 2009 No bo masz pewnie hamowanie typu: GML if(!nacisniete przyciski ruchu) { hspeed=0; } Zrób zmienna skok czy coś i wtedy blokuj hamowanie dla tej zmiennej równej 1; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ra3l Opublikowano 22 Listopada 2009 Autor Udostępnij Opublikowano 22 Listopada 2009 if place_free(x+4,y) {x+=4} Kod na ruch... hamowania nie widzę ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 22 Listopada 2009 Udostępnij Opublikowano 22 Listopada 2009 No to masz tak jakby "automatyczne hamowanie". Zrób, że jeśli jednocześnie trzymasz np. prawo i skok, to ustawia zmienną na np. 1. Lewo i skok 2, a góra i skok 0 (-1 brak skoku). Podczas gdy jest skok sprawdza zmienną i nadaje stałą prędkość obiektowi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ra3l Opublikowano 22 Listopada 2009 Autor Udostępnij Opublikowano 22 Listopada 2009 If (keyboard_check(vk_left)) && (keyboard_check(vk_space)) { zmienna = 1 } If (keyboard_check(vk_right)) && (keyboard_check(vk_space)) { zmienna = 2 } ?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 22 Listopada 2009 Udostępnij Opublikowano 22 Listopada 2009 No może być tak. Później sprawdzasz: GML if(place_free(x,y+1) { if(zmienna==2) { if place_free(x+4,y) x+=4; } if(zmienna==1) { if place_free(x-4,y) x-=4; } } A to dla skoku w górę to w sumie niepotrzebne :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ra3l Opublikowano 22 Listopada 2009 Autor Udostępnij Opublikowano 22 Listopada 2009 Za mało o 1 nawias if(place_free(x,y+1)) Zrobiłem i tak nie działa tak jak powinno. Już nie mam siły na ten skok. Edit: Teraz jak nacisnę spację skacze losowo w prawo albo w lewo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 22 Listopada 2009 Udostępnij Opublikowano 22 Listopada 2009 Obejrzyj ten przykład: link Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ra3l Opublikowano 22 Listopada 2009 Autor Udostępnij Opublikowano 22 Listopada 2009 Nie mogę go otworzyć. Mam gm 6.1 zarejestrowany Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 22 Listopada 2009 Udostępnij Opublikowano 22 Listopada 2009 No to dam kod stepa (pisany na szybko) W create kierunek=0. Pozmieniaj to co Ci nie potrzebne (grawitację itp.) GML if(place_free(x,y+max(1,vspeed)) && vspeed<2) { vspeed+=0.1; } else vspeed=0; if(!place_free(x,y+1)) { if(keyboard_check(vk_left)) { if(place_free(x-4,y)) then x-=4; kierunek=-1; } else if (keyboard_check(vk_right)) { if(place_free(x+4,y)) then x+=4; kierunek=1; } else { kierunek=0; } if (keyboard_check_pressed(vk_space)) { vspeed-=2; } } else { if(kierunek==1) { if(place_free(x+4,y)) then x+=4; } else if(kierunek==-1) { if(place_free(x-4,y)) then x-=4; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ra3l Opublikowano 22 Listopada 2009 Autor Udostępnij Opublikowano 22 Listopada 2009 OK, działa... wielkie dzięki :)) Ale jeszcze nie jest do końca tak jak sobie to wyobrażałem... jak opada przycina się na chwilkę i dopiero do końca spada. Jak to można by naprawić w powyższym kodzie? Sorry za post pod postem ale mam coś konkretnego do dodania. A więc: Skok jest niby dobry, ale haczy się przy końcu to 1. A 2 to że źle wykrywa kolizje. Niby chodzę po "zemi", ale nie wykrywa tej kolizji. Sprawdzałem na zmiennych. Proszę o pomoc bo nie wiem jak sobie z tym poradzić. Dobra już sobie poradziłem. Temat można zamknąć. 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ę