Broccatee Opublikowano 30 Kwietnia 2010 Udostępnij Opublikowano 30 Kwietnia 2010 Jak zrobić, aby sprite bohatera się lekko potrząsał? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
IamTheLaw Opublikowano 30 Kwietnia 2010 Udostępnij Opublikowano 30 Kwietnia 2010 w animacji? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Broccatee Opublikowano 30 Kwietnia 2010 Autor Udostępnij Opublikowano 30 Kwietnia 2010 w animacji? Nie. Kodem :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 30 Kwietnia 2010 Filar Społeczności Udostępnij Opublikowano 30 Kwietnia 2010 GML trzesienie=0; do{ losuj = random(4); //sprawdz jak to działa dokładnie bo nie pamietam switch(losuj){ case 0: x+=2; break; case 1: x-=2; break; case 2: y+=2; break; case 3: y-=2; break; } trzesienie+=1; }while(trzesienie<=5); edit: jeśli chcesz, żeby później powrócił na swoje poprzednie miejsce to dodaj: GML xbefore = x; ybefore = y; przed pętlą do oczywiście wartości tylko przykładowe Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crab Opublikowano 30 Kwietnia 2010 Udostępnij Opublikowano 30 Kwietnia 2010 while(trzesiene<=5), a wyrażenie? Jest tylko warunek. Daje ci czas na poprawę. ;D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 30 Kwietnia 2010 Filar Społeczności Udostępnij Opublikowano 30 Kwietnia 2010 nie widzę sensu w tym co mówisz do{}while(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 30 Kwietnia 2010 Udostępnij Opublikowano 30 Kwietnia 2010 Step: GML x=x+xx y=y+yy if trzesienie=1 { xx=random(10) -5 yy=random(10)-5 } Jeżeli mocniejsze trzęsienie to: GML if trzesienie=2 { xx=random(20) -10//-10 to połowa losowej liczby czyli jeżeli liczba losowa to 3 to xx=-7 yy=random(20)-10 } Takie trudne? Jeżeli nie idzie to daj swój kod bo coś pewnie zepsułeś. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
copoconaco Opublikowano 30 Kwietnia 2010 Udostępnij Opublikowano 30 Kwietnia 2010 zauwazcie ze dajac x=x+xx gdzie xx jest liczba losowa, obiekt moze przemiescic sie w ktoryms kierunku bardziej niz w innych, co w pewnych przypadkach moze byc nieporzadanym efektem. dlatego 'trzesienie' robcie w DRAW draw_sprite(sprite,0,x+random(10)-5,y+random(10)-5) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 30 Kwietnia 2010 Udostępnij Opublikowano 30 Kwietnia 2010 No to racja. Ale to tylko przykład był. I trzeba pamiętać aby obiekt miał taką samą maskę jak obiekt się trzęsący aby to jakoś wyglądało. Choć jeżeli poprawić mój kod aby sprawdzał kolizję z obiektami i podłożem może być bardziej realny. Bo jeżeli robić to jak piszesz to obrazek będzie właził na inne obiekty (ale tylko sprita więc nie będzie się zacinał) To już zależy czy chce się mieć realnie czy nie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
copoconaco Opublikowano 30 Kwietnia 2010 Udostępnij Opublikowano 30 Kwietnia 2010 jeżeli robić to jak piszesz to obrazek będzie właził na inne obiekty (ale tylko sprita więc nie będzie się zacinał) x=x+xx y=y+yy - w tym wypadku operujemy bezposrednio na wspolrzednych co powoduje przesuwanie sie calego obiektu - a w tym: draw_sprite(sprite,0,x+random(10)-5,y+random(10)-5) nie zmieniamy w żaden sposob wspolrzednych obiektu wiec 'trzesie' sie tylko rysowany sprite. o to mi chodzilo... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 30 Kwietnia 2010 Filar Społeczności Udostępnij Opublikowano 30 Kwietnia 2010 Mogłby napisać, czy mu działa, a nie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 30 Kwietnia 2010 Udostępnij Opublikowano 30 Kwietnia 2010 No to wiem (wyobraźnię mam). I w takiej postaci jest to dobre ale nie realne. Bo jeżeli sprawdzać kolizję obiektów można by ustalać w którą stronę może się trząść i by nie właziło na inne obiekty. Ale twoje spostrzeżenie jest jak najbardziej trafne. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 30 Kwietnia 2010 Filar Społeczności Udostępnij Opublikowano 30 Kwietnia 2010 Przy twoim bluks trzęsie się tylko raz, więc przydałoby się dodać pętlę Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 30 Kwietnia 2010 Udostępnij Opublikowano 30 Kwietnia 2010 Człowieku to jest w Step. Więc dopóki trzęsienie jest równe 1 lub 2 trzęsie. Przestaje gdy ma wartość mniejszą od 1 lub większą od 2. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Broccatee Opublikowano 30 Kwietnia 2010 Autor Udostępnij Opublikowano 30 Kwietnia 2010 Dobra, koniec tematu bo się spam robi, a - co najważniejsze - już dostałem odpowiedź. Kod od copoconaco jest idealny. Dzięki kolo ;) Reszcie również dziękuję za dobre chęci. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi