Skocz do zawartości

Problem z obiektem we view


Przejdź do rozwiązania Rozwiązane przez Wojzax,

Rekomendowane odpowiedzi

2a7d1dz.jpgok9xkw.jpg                                                 Witam, mam problem, stworzyłem obiekt z takim kodem:

y =view_yview
x =view_xview

chciałbym żeby obiekt zawsze był w lewym górnym rogu jednak obiekt tak jakby podąża a nie jest przyklejony do view'a co daje nieestetyczny efekt, ktoś wie jak temu zaradzić ? 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Czy ten kwadrat jest rysowany jako sprite, czy za pomocą draw_rectangle() ?

 

Jeśli sprite - sprawdź origin, może jest zły.

Jeśli draw rectangle - ta funkcja ma tendencję do rysowania z offsetem 1px na niektórych kartach graficznych. Do tego malowanie wypełnionego oznacza przesunięcie o kolejny piksel (bo rysuje bez ramki, którą jest argument przeciwny). Stąd mogą być aż dwa piksele.

Osobiście zalecam używanie sprite zamiast draw_rectangle().

Odnośnik do komentarza
Udostępnij na innych stronach

Origin jest dobrze ustawiony. Ten kwadrat ma być częścią interfejsu (kiedyś nie będzie kwadratem ale teraz to nie istotne) Po prostu stworzyłem obiekt wybrałem mu sprite i w step napisałem ten kod, nie mam pojęcia jak by można to inaczej rozwiązać.A  ten efekt jest tylko w przypadku poruszenia view'a 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
  • Rozwiązanie

Tak to wygląda zawsze jak nadasz obiektowi współrzędne viewa, trzęsie się przy poruszaniu.

Dużo lepiej jest rysować interfejs, masz np. obiekt control czy jakiś inny który służy wyłącznie rysowaniu interfejsu. Sam nie ma żadnego sprite'a i znajduje się w losowym miejscu w roomie, za to w draw dajesz mu np.

draw_sprite(interfejs_sprite,0,view_xview,view_yview)

i problem rozwiązany - przy poruszaniu viewem rysowany interfejs się nie trzęsie.

Odnośnik do komentarza
Udostępnij na innych stronach

Problemem jest to, że aktualizujesz pozycję w stepie który się dzieje 30/60/ile tam ustawiłeś razy na sekundę zamiast tak często jak draw LUB w tym, że pozycja X/Y obiektu aktualizuje się PRZED ruszeniem view'a.

jeżeli wrzucisz aktualizację do draw powinno działać. Tylko tego nie nadużywaj, bo draw dzieje się częściej od step i może wpłynąć na optymalizację gry.

 

Edit: Nie zauważyłem że wybrałeś już odpowiedź. Nvm.

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