Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 825
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    144

Odpowiedzi opublikowane przez gnysek

  1. 12 godzin temu, pankracy napisał:

    Co do funkcji move_contact_solid to widzę,że ona jest tylko dostępna w gms 2x chyba,że się mylę

    Dostępna jest co najmniej od GameMakera 5.0, bo pamiętam ją jeszcze z tutoriali platgormówi drag'n'drop z 2003 roku, gdy zaczynałem przygodę z GameMakerem.

     

    12 godzin temu, pankracy napisał:

    nie chce resetować mi dalej grawitacji do wartości domyślnych

    Nie bardzo rozumiem ten kod. Nie wiem dlaczego kod od skoku jest w trampolinie, a nie w obiekcie postaci, do tego:

    - player_bounce nigdy się nie zmienia, wiec jak rozumiem ten warunek jest zawsze spełniony

    - jeśli par_entity to jest to co skacze na trampolinie, to jak spadnie, zawsze będzie jej dotykać, wiec i ten warunek jest spełniony

    - jak dla mnie zatem zawsze spełnione są oba warunku i zawsze ustawiasz hspeed i vspeed

     

    Wydaje mi sie, że kod jest zupełnie nie w tym miejscu, a to czy trampolina jest pod graczem czy nie, powinno być uwzględniane tam, gdzie jest kod od zwykłego skakania (o ile takowy w ogóle jest).

     

    Btw. dlaczego normalna grawitacja to 1, a nie 0? Np. domyślne GMowe gravity przecież jak ma wartość większą od 1, to dodaje do x i y: lengthdir_x/y(gravity, gravity_direction), wiec tylko 0 powoduje ustanie grawitacji.

  2. To jest naprawdę za dużo kodu, żeby go analizować zwłaszcza, że może czegoś brakować.

    Ale masz przykłady gier platformowych i tam jest jak resetować grawitację gdy dotkniesz podłoża (sprawdzasz czy jest obiekt solid poniżej y+speed, i uzywasz moce contact solid, żeby idealnie dotknąć).

  3. Ja generalnie jestem za tworzeniem tzw. flag, czyli zmiennej, która stwierdza, czy coś jest czy nie. I tak bym zrobił kod. Tzn. całość w tym stylu, żeby było czytelniej:

     

    // pseudokod
    // 1. najpierw ustal stany postaci
    if (costam lub costam lub costam) {
    	plywanie = true;
    } else {
    	plywanie = false;
    }
    
    // 2. potem reaguj na nie
    // logika od ruchu, animacji itd.
    var predkosc_poruszania = plywanie ? 0.5 : 4; // 0.5 jak pływamy, 4 jak nie pływamy
    var ruch_poziomo = -keyboard_check(vk_left) + keyboard_check(vk_right); // zwróci -1, 0 lub 1
    
    x += predkosc_poruszania * ruch_poziomo;
    
    if (plywanie = true) {
        if (sprite_index != spr_plywa) {
    		sprite_index = spr_plywa;
    		image_index = 0;
    		image_speed = 0.2;
    	}
    } else {
       ... // itd.
    }

     

    W ten sposób trudniej się pogubić, poza tym mając zmienną od stanów, łatwiej je wymuszać i zmieniać w innych przypadkach, a nie zmieniamy zachowania (można np. włączyć pływanie podchodząc do drabinki, czy drzwi, czy wymusić na początku etapu - spoza step tego obiektu).

  4. 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?

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

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

  8. 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 :)

  9. 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:

     

    obraz.png

     

    Strona z artykułem:

    obraz.png

     

    Profil

    obraz.png

     

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

×
×
  • Dodaj nową pozycję...