Skocz do zawartości
godegode

Problem obiektów poruszających się po okręgu

Rekomendowane odpowiedzi

Dla lepszego poglądu na to co się tam dzieje tu jest nagranie (mam nadzieję, że mogę je wstawić):

Odnośnik do YT

 

PROBLEM:

Pozycja postaci i obiektów poruszających się po mojej planecie "rozjeżdża się" nieco względem pozycji planety podczas poruszania nią.

W momencie kliknięcia strzałki w lewo/prawo oraz w momencie puszczenia klawisza widać lekki przeskok planety i wraca ona do takiej pozycji, w jakiej być wg. wyliczeń powinna.

 

Poruszanie planetą (w Step):

image_angle = direction

if keyboard_check(vk_left)
{
direction-=2
}
if keyboard_check(vk_right)
{
direction+=2
}

Poruszanie się np. drzew:

w Create

pos = random_range(40,340)

w Step

image_angle = Earth.direction+pos-90
x = Earth.x + lengthdir_x(380,(Earth.direction+pos))
y = Earth.y + lengthdir_y(380,(Earth.direction+pos))

 

Mam też system ruszania planety myszą, ale problem jest przy tym identyczny.

(w Step)

if !mouse_check_button(mb_left)
{
startx = mouse_x
}

if mouse_check_button(mb_left)
{
direction+= (startx - mouse_x) / 200
}

 

 

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Kod jest jak najbardziej poprawny, ale kolejność wykonywania zdarzeń Step tutaj Ci już przeszkadza. Zrób poruszanie planetą (keyboard_checki) w Begin Step zamiast Step.

 

Kolejność wykonywanych zdarzeń w tym wypadku jest ważna, ponieważ wygląda to tak:

1. Aktualizuj Drzewa - ustaw pozycję i użyj stary obrót planety

2. Aktualizuj Planetę - ustaw nowy obrót planety

3. Rysuj scenę - rysuje Ci Drzewa i Planetę, ale Drzewa pamiętają tylko stary obrót Planety

 

Jak w obiekcie Planeta zmienisz Step na Begin Step, to będzie wyglądać to tak:

1. Aktualizuj Planetę - ustaw nowy obrót

2. Aktualizuj Drzewa - ustaw pozycję i użyj nowy obrót planety

3. Rysuj scenę - Drzewa jak i Planeta już są dobrze rysowane

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Z początku nie śmignęło, ale wrzuciłem wszystko do Begin Step, zaś samo "image_angle = direction" zostawiłem w Step i faktycznie, działa perfect.

Wielkie dzięki!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko 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ę tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×