Bollo Opublikowano 13 Kwietnia 2010 Udostępnij Opublikowano 13 Kwietnia 2010 Witam! Mam kilka pytań : 1. Co zrobić aby akcja została wykonana gdy obj_kulka przebędzie pewną odległość np. 100 pikseli 2. Co zrobić aby akcja była wykonana gdy obj_kulka osiągnie prędkość np. 14 a następnie jej prędkość systematycznie malała o -0,001 w step aż do osiągnięcia prędkości 8 3. Co zrobic aby akcja została wykonana gdy obj_kulka zderzy się z obiektem o prędkości np.10 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 13 Kwietnia 2010 Udostępnij Opublikowano 13 Kwietnia 2010 Wszystko zależy jak masz zaprogramowany ruch. Podaj szczegóły, jakich zmiennych używasz, jaki rzut, etc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bollo Opublikowano 13 Kwietnia 2010 Autor Udostępnij Opublikowano 13 Kwietnia 2010 Robię prostego arkanoida speed piłeczki = 7 Położenie paletki zależy od mouse.x Zmiennych nie używam a rzut to nawet nie wiem co to znaczy. :jezor: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 13 Kwietnia 2010 Udostępnij Opublikowano 13 Kwietnia 2010 Co do 3. GML (Step objkulka) if ( place_meeting(x,y,o_kwadrat) && speed = 10) { //Wykonaj akcję } else { //wykonaj inną :P } 2. GML (Create) max_spd = 14; // Maksymalna min_spd = 8; // Minimalna change = false; // Czy osiagnął predkosc max</span> GML (Step) if speed >= max_spd && change = false { speed = max_spd; change = true; speed -= 0.001; } if speed <= min_spd && change = true { speed = min_spd; } Powinno działać, nad jedynka jeszcze pomyślę Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 13 Kwietnia 2010 Udostępnij Opublikowano 13 Kwietnia 2010 1. Ogólnie zależy od toru ruchu, ale ogólnie: GML (Create) distance = 0; GML (Step) distance += speed; if( distance >= 100 ) { // akcja } 2. Tarcie. :)GML if( speed >= 14 && friction == 0 ) { friction = 0.001; } else if( speed <= 8 && friction != 0 ) { friction = 0; } 3. Zdarzenie kolizji z obiektem, a tam:GML if( speed >= 10 ) { //akcja } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bollo Opublikowano 13 Kwietnia 2010 Autor Udostępnij Opublikowano 13 Kwietnia 2010 W 3 chodziło mi o to aby akcja została wykonana po zderzeniu piłeczki z obiektem który ma prędkość 10. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 13 Kwietnia 2010 Udostępnij Opublikowano 13 Kwietnia 2010 Ta sam sytuacja, zdarzenie kolizji kuli z obiektem: GML if( other.speed >= 10 ) { //akcja } W other przechowywane jest id obiektu z który wystąpiła kolizja. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bollo Opublikowano 13 Kwietnia 2010 Autor Udostępnij Opublikowano 13 Kwietnia 2010 Coś mi to nie wychodzi, próbuje zrobić tak aby po odbiciu kulki od paletki która ma szybkośc 10 kulka zwiększyła swoją prędkośc i wtedy się prędkość zmniejszała do 7. Może mi się nie udaje bo w kolizji z paletką mam coś takiego: if (x > other.x) { direction = 90 + (other.sprite_width / 30) * (other.x - x); } else { direction = 90 + (other.sprite_width / 30) * (other.x - x); } Może to jakoś przeszkadza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 13 Kwietnia 2010 Udostępnij Opublikowano 13 Kwietnia 2010 To zmiana kierunku, nie wpływa na prędkość. Prędkość paletki ma się zmniejszyć do 7? Najlepiej podeślij to co tam masz. Było by po prostu wygodniej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bollo Opublikowano 13 Kwietnia 2010 Autor Udostępnij Opublikowano 13 Kwietnia 2010 Nie paletki tylko kuleczki a oto gierka https://gmclan.org/up6405_12_Arkanoid.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 13 Kwietnia 2010 Udostępnij Opublikowano 13 Kwietnia 2010 Paletka nie ma speed. :D Dobra, dodaj do script0 coś takiego: GML if( abs( other.x - other.xprevious ) >= 10 ) { speed = 17; } Powinno działać. ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bollo Opublikowano 13 Kwietnia 2010 Autor Udostępnij Opublikowano 13 Kwietnia 2010 Świetnie, wszystko teraz ładnie działa, dzięki Tymon 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ę