Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 812
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    141

Treść opublikowana przez gnysek

  1. Wydaje mi się, że jest pełnoletni, bo pisał do mnie na Messengerze (poza tym skoro 10 lat temu robił gry to też tak wychodzi), ale nie chcę też za dużo sam zakładać mając dostęp do większe ilości danych czy można liczyć na wykres zależności fabularnych gier? Jakaś oś czasu z od odnogami?
  2. Powiedziałbym, że korzystałem z tego tak samo często jak w innych językach programowania, czyli generalnie wcale
  3. Na pewno zgubiłeś gdzieś spację, prawidłowo funkcja powinna wyglądać tak: font_main = font_add_sprite_ext(font_test, "!\" $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^+`abcdefghijklmnopqrstuvwxyz{|}~€ąćęłńóśżźĄĆĘŁŃÓŚŻŹ", true, 0); (Zwróć uwagę na backslash przed ", a potem na spację po " i przed $ ). Moja strona obsłuży każdy font który masz zainstalowany (jakby coś). Wydajność - to zależy co innego dzieje się w grze. Ja już robiłem takie, gdzie każda literka jest rysowana osobno i jakoś dawało radę.
  4. Absolutnie nie jest to odejmowanie. Np. 148 binarnie to 10010100, robisz 5 przesunięć w prawo, zatem wypada 5 ostatnich cyfr i zostaje 100, czyli 4.
  5. Jeśli chcesz ładny kontur, to zrób z czcionki sprite. Podstawowy sprite możesz zrobić korzystając z mojego generatora: https://gnysek.github.io/gms-font-creator/ . Potem w dowolnym programie dodaj sobie ulubioną ramkę i dodaj font przez font_add_sprite_ext (mój generator daje od razu listę znaków która będzie drugim argumentem).
  6. Nie wiem co powinno znaleźć się w step, bo to nie ja dobieram wartości paralaksy i proporcji To już naprawdę albo musisz wyliczyć, albo metodą prób i błędów (zacząłbym od tego, żeby surface rysowało się gdzie trzeba i zapewne testowanie najlepiej zaczynać w połowie obszaru, wtedy lustro i odbicie powinny być w jednej osi jak mniemam, a potem iść w lewo/prawo i sprawdzać, czy paralaksa jest dobra). Powiedz jeszcze, jaka to wersja GM? W GMS 2.0 można użyć camera_apply(view_camera[0]);, które pozwoli na surface mieć takie same offsety jak w view, może to pomoże w rysowaniu.
  7. Faktycznie, 500kb było dla użytkowników, to pewnie przez aktualizację forum. Zmienione
  8. Zwyczajnie wklej obrazek jak do painta.
  9. To Ty decydujesz o wartościach X i Y. Musisz znaleźć odpowiednie, możesz przecież przesuwać obiekt za pomocą step, create, możesz przesuwać samą pozycję surface - wszystko zależy od tego jak to zaprogramujesz.
  10. A jaka wersja GameMakera ? W studio 2 ustawiasz prędkość w game properties, nie ma speeda per room. No i skoro wyskoczyło u kolegi 60FPS, to znaczy, że u niego działa normalnie a u Ciebie zamula
  11. Tak, to jest właśnie ta część z pierwszej wersji designu, i tutaj powoli próbuję zrezygnować z tego (strona artykułów miała to samo, a jak widać wyżej - już nie ma). Ten srebrno-szaro-granatowy to już nawet nie pasuje teraz do niczego. Jak widać też na głównej, ten wielki banner "witamy" będzie zamykalny, żeby stałym użytkownikom się nie pokazywać i nie przesłaniać ważniejszej treści.
  12. No dobrze, ale mówisz że coś jest źle, nie pokazując lepszych propozycji (nawet z gotowców) ani nie wskazując co dokładnie. Ja akurat staram się robić jakąś wypadową tego co znajdę np. na themeforest więc to nie jest z tyłka ani sprzed dekady, ale czekam nawet na mockup lepszej propozycji
  13. Postanowiłem trochę przysiąść nad nowym GMCLANem, który powstaje już pewnie z dekadę, ale do tej pory nie wyszło to poza brzydkie obrazki. Do tej pory. Bo teraz mam już wersję PHPową która wstępnie zaczyna już działać (podstrony wczytują osobne kontrolery php). W pierwszej wersji próbowałem coś na zasadzie boostrapa któremu nadam obecne kolory gmclanu (szare), ale część z was sugerowała, żeby od tego odejść i trochę bardziej zaszaleć. No to zaszalałem Główna: Strona z artykułem: Profil To oczywiście bardzo wstępna wersja, ale już możecie zgłaszać opinie. Na tę chwilę wybrane fonty to: Libre Franklin + Quicksand (menu i niektóre nagłówki).
  14. To są za duże ilości kodu aby ktoś chciał to analizować, zwłaszcza, że nie znamy reszty kodu.
  15. No to nie wystarcz zrobić tak jak masz na obrazku 2, a jedynie przy draw_surface dodwac/odejmować w pozycji x wartość przesunięcia? Wtedy obrazek się przecież nie zmieni i odbicie będzie widoczne. Np. jak masz teraz draw_surface(500,...) to robisz draw_surface(500 + paralaksa, ... ).
  16. A weź daj jakiegoś screena bo ja kompletnie nie umiem sobie tego wyobrazić z opisu.
  17. No to znów matematyka. Możesz np. sprawdzać odległość, załóżmy, że alpha ma się zmieniać od 123 pikseli od postaci (podaję taką dziwną liczbę, żeby lepiej było to widać w działaniu). var dist = distance_to_point(lustro_x, lustro_y, bohater.x, bohater.y); var alpha = 1 - clamp(dist/123, 0, 1); // można też np.: // var alpha = 1 - min(1, dist/123); // itd. itp. draw_sprite_ext(......, alpha); // czy tam draw_suface_ext, obojętnie
  18. draw_sprite_ext ma parametr alfa, są też funkcje do rysowania surface z kanałem alpha, może w tę stronę ?
  19. Nie można rysować sprite obiektu, a jedynie istniejącej instancji. Albo uzyj nazwy sprite bezpośrednio, albo zrób jakiś fallback do zmiennej tymczasowej, że jak instancja jest to weź z niej sprite a jak nie ma to jakiś jaki masz ochotę
  20. Nie mam pojęcia jak wyglądają Twoje sprity, więc cieżko mo oceniać, czy trzeba coś przesuwać - to już musisz stwierdzić własnym wzrokiem
  21. Jeśli część ma być pod, a część nad, to nie da rady na jednym surface. Pozostaje faktycznie dać drugi obiekt na innym layerze / innym depth, który jest pod wszystkim. Jeśli jednak to jest tło, to niekoniecznie trzeba używać tego samego surface, można draw_sprite_part spróbować, ale oczywiście tutaj będzie sporo zabawy w obliczenie prawidłowego rozmiaru. Może łatwiej będzie jednak to surface malować, skoro już dobrałeś parametry
  22. Możesz za pomocą draw_surface_part narysować tylko część. Nie, ta zmienna będzie pilnować, żeby tylko jedno surface istniało. Surface zostaje skasowane przez GPU gdy włącza się wygaszacz albo komputer jest usypiany, lub gdy wyłączasz grę. Dlatego nie trzeba robić free w tej sytuacji, skoro i tak używasz tego surface często. surface_free raczej używa się, gdy wiesz, że już danego surface nie potrzebujesz (do końca gry, albo przez kilka sekund). Co do ponownego rysowania - jest funkcja draw_clear i draw_clear_alpha która pomaga wyczyścić surface.
  23. Jeśli będzie jedno surface, to nie będzie wyciek. Create: global.costam = -1; Draw: if (!surface_exists(global.costam)) { global.costam = surface_create(200,200); } surface_set_target(global.costam); ... surface_reset_target(); I żadnego wycieku nie ma, oraz możesz dowolnie używać tego surface ponownie (powtarzasz tylko kod z draw, już bez create, bo wtedy właśnie byłby memory leak).
  24. Pamiętaj, że jak ustawisz surface, to resetuje się view i lewy górny róg to 0,0, więc trzeba odjąć offsety viewa, może tu jest problem.
×
×
  • Dodaj nową pozycję...