Skocz do zawartości

Kilka pytań dotyczących ruchu


Bollo

Rekomendowane odpowiedzi

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

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

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

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

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...