Skocz do zawartości

SimianVirus7

Użytkownicy
  • Zawartość

    203
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    14

Ostatnia wygrana SimianVirus7 w Rankingu w dniu 1 Październik

SimianVirus7 posiada najczęściej lubianą zawartość!

Reputacja

32 Mała Cegła Społeczności

1 obserwujący

O SimianVirus7

  • Tytuł
    Major User
  • Urodziny 11/15/1997

Contact Methods

  • Website URL
    http://

Previous Fields

  • Użytkownik GameMaker Studio 2
    Tak
  • Użytkownik GameMaker Studio
    Tak
  • Użytkownik GameMaker 8
    Tak
  • Użytkownik GameMaker 7 i wcześniejszych wersji
    Nie
  • Użytkownik Unity
    Nie
  • Uytkownik Godot
    Nie

Profile Fields

  • Skąd
    Leszno

Ostatnie wizyty

5662 wyświetleń profilu
  1. Nad czym aktualnie pracujesz?

    Wygląda trochę jak te przerywniki z DmC (ninja theory), tyle, że na sterydach
  2. Szczegółowa Animacja postaci

    Dokładnie tak jak powiedział @adam014, użyj image_xscale, zaoszczędzi Ci to czasu i miejsca związane z tworzeniem sprite'ów. Pamiętaj tylko, żeby każdy sprite patrzył domyślnie w prawo. Co do kodu, będzie to mniej więcej coś takiego: Jeśli naciśniesz strzałkę w lewo to: - ustaw sprite na bieganie - ustaw image_xscale = -1 - ustaw prędkość poruszania się (np. hspeed = -4); Jeśli naciśniesz strzałkę w prawo to: - ustaw sprite na bieganie - ustaw image_xscale = 1 - ustaw prędkość poruszania się (np. hspeed = 4); (tutaj różnica jest tylko taka, że wartości są dodatnie) Jeśli nie naciskasz ani strzałki w lewo ani w prawo to: - ustaw sprite na stanie w miejscu - ustaw prędkość poruszania się na zero (image_xscale nie zmieniasz, tak, aby została wartość ostatnio obrana, czyli w lewo albo w prawo) W kodzie będzie to wyglądać mniej więcej tak: if(keyboard_check(ord("A"))) //jeśli strzałka w lewo { sprite_index = sHero_run; //ustaw odpowiedni sprite image_xscale = -1; //ustaw obrót w którą stronę patrzeć hspeed = -4; //ustaw prędkość } if(keyboard_check(ord("D"))) //jeśli strzałka w prawo { sprite_index = sHero_run; //ustaw odpowiedni sprite image_xscale = 1; //ustaw obrót w którą stronę patrzeć hspeed = 4; //ustaw prędkość } if(!keyboard_check(ord("D")) and !keyboard_check(ord("A"))) { sprite_index = sHero_idle; //ustaw odpowiedni sprite hspeed = 0; //wyzeruj prędkość aby postać zatrzymała się } A wynik powinien wyjść mniej więcej taki: grafika: https://opengameart.org/content/forest-boy-platformer-animated-character-24x24 edit: Z tego co się orientuje maziasz gry w game maker 8.1 więc chyba trudno będzie o jakikolwiek przykład projektu :/
  3. wyjaśnienie kodu

    Chodzi tutaj o dodatkowe sprawdzanie każdego piksela, tak zwane "pixel perfect collision". Samo IF sprawdza, czy w odległości od równej prędkości poruszania jest ściana (oWall). Jeśli tak, oczywiście IF wykonuje się. Ale co jeśli prędkość jest większa niż powiedzmy 10px? Wtedy zostanie nam luka, bo IF sprawdził to tylko raz. Kod w WHILE wykonuje się BEZ PRZERWY dopóki warunek jest spełniony. Dlatego łatwo grę można zatrzymać w miejscu, ponieważ WHILE zapętla się i nie pozwala programowi wykonywać się dalej, kiedy źle określimy warunek. Czyli, wykonując swój kod, IF sprawdza, czy napotkano ścianę, jeśli tak, WHILE sprawdza pozycję gracza + jeden pixel! (sign oznacza jeden pixel) i jeśli nie wykryję ściany, przesuwa gracza o ten jeden pixel i tak w nieskończoność, dopóki pozycja gracza + jeden pixel == pozycja ściany. W praktyce wygląda to następująco, gdy prędkość poruszania się gracza to 20px
  4. Nad czym aktualnie pracujesz?

    Z racji, że gms2 nadal nie obsługuje sql, a rozszerzenie z gamemakerserver.com działa tylko pod gms, postanowiłem coś ruszyć w tej sprawię i zacząłem coś pisać w pythonie. To moje pierwsze starcie z tym językiem i naprawdę mnie denerwuje, co po chwile mu coś nie pasuje. Ale po trzech dniach jest mały postęp. Python sczytuje dane z sql i wysyła do game makera.
  5. ?, z tego co ja wiem solid nie sprawia automatycznie, że obiekty kolidują na siebie nawzajem, tylko trzeba do tego dopisać stosowny kod. Generalnie ja nie korzystam z flagi solid więc mogę się mylić. Jaki błąd?
  6. a jaki jest twój kod kolizji z platformą?
  7. Nie wiem jak wygląda Twój kod ale jeśli używasz vspeed, to możesz sprawdzać kolizje tylko wtedy, jeśli postać opada albo stoi. Czyli: If (vspeed >= 0) then kolizja Bo vspeed < 0 czyli np vspeed = -3 to skakanie, bo postać porusza się w górę, czyli wtedy nie sprawdzaj kolizji tylko przenikaj przez platformę.
  8. Biegnij Jeżyku!

    Dziękuje :> Hmm.. też się nad tym chwilę zastanawiałem, więc bardzo możliwe, że tak jest. Nooo, to prawda Kolega mówił, że po kilku sesjach jego oczy chcą wypaść z oczodołów (づ。◕‿‿◕。)づ
  9. Biegnij Jeżyku!

    Tytuł: Biegnij Jeżyku! Gatunek: Endless Runner Opis: Wcielając się w super Jeża Jerzego, musisz biec ile sił w nogach, by zdobywać punkty. Punkty dostajesz również za jedzenie jabłek (to jest mit, jeże są drapieżne) lub za rozbijanie skał, ale uwaga! Skały rozbijają się dopiero wtedy kiedy ubierzesz pelerynę, a żeby ubrać pelerynę musisz mieć moc, a żeby mieć moc, musisz zjeść grzyby - logiczne. Gra ma też pojawić się na androida, kwestia kilku dni. Tworzona z myślą o zainteresowaniu jeżami pewnej znajomej i o tym, że lubię szybkie krótkie gierki - pochłaniacze czasu - szczególnie na posiedzeniu, bądź na przerwie w robocie. Download: https://narkoleptyk.itch.io/biegnij-jezyku Autorzy: Programowanie: SimianVirus7 (Narkoleptyk) - Ja Grafika: SimianVirus7 (Narkoleptyk) - Ja Muzyka: www.zapsplat.com Screeny:
  10. Temat zbiorczy na drobnostki

    Dziwne, bo dodanie tego minusa nie zmieniło działania. Generalnie już nie trzeba, bo się przyzwyczaiłem, ale pamiętam, że często nad tym kminiłem :/
  11. Temat zbiorczy na drobnostki

    Witam, Z racji, że jestem noga z matmy, proszę o pomoc. Mam pasek wytrzymałości na bazie sprite'ów. Zależnie ile punktów wytrzymałości bohater posiada, tyle sprite'a rysuje. Tylko rysuje mi go od góry, a ja na przekór losu chciałbym, aby rysował mi go od dołu. Kolega nie znający się na programowaniu powiedział, że mam napisać kod odwrotnie no coś w tym jest ale nie mogę dojść do ładu. Create: stamina = 0; //ilość wytrzymałości (max 100) Draw: var _h = sprite_get_height(sStamina_bar) + 10; // +10 - bo ramka tyle ma var _w = sprite_get_width(sStamina_bar); // (stamina/max_stamina)*wysokość_sprite'u draw_sprite_part(sStamina_bar, 0, 0, 0, _w, (stamina/100)*_h, 15, room_height/2 - _h/2) // wypełnienie draw_sprite(sStamina_bar, 1, 15, room_height/2 - _h/2); // ramka Wynik: Stamina = 20; Max_stamina = 100; Więc generalnie chciałbym aby rysował wypełnienie od dołu w górę. Jakieś wskazówki?
  12. Jak wykryć nowe linie w stringu?

    Zawsze możesz zapisywać co jakiś czas linijki do pliku tekstowego i wczytywać je stopniowo. Czyli mieć to jakby podzielone na części, np. Jeśli numer_linijki >= 100 wtedy doczytaj drugie 100 z pliku tekstowego. Jeśli numer_linijki <= 99 wtedy doczytaj pierwsze 100 z pliku tekstowego. No coś w ten deseń (pseudokod jak marzenie)
  13. Jak wykryć nowe linie w stringu?

    Raczej ogranicza Cię tylko RAM komputera. Przy 16gb nic nie stanęło mi na przeszkodzie, żeby zrobić 45mln elementów w tablicy. Przy pustym pokoju i tylko wypisywaniu każdej linijki, przy 30tyś, fps spadł do 30 klatek. Choć pewnie ktoś z tego forum (choćby Gnysek), może powiedzieć o tym wiele więcej
  14. Jak wykryć nowe linie w stringu?

    Hej, zrobiłem coś takiego. Linie liczy, a żeby pokazywał tylko kilka pierwszych/ostatnich to pewnie wystarczy tylko zmienić pierwszy/drugi argument w forze. Projekt [gm:s2] - https://gmclan.org/up8556_18_Line_counter.html Zrobiłem liste, a w Draw umieściłem kod: var _break = 5; //Przerwa pomiędzy linijkami list_height = 0; //zeruj for(var i = 0; i < ds_list_size(list); i++) { draw_text_ext(5, 5 + (list_height), string(i+1) + ". " + string(list[| i]), 20, 300); list_height += string_height_ext(list[| i], 20, 300)+_break; }
  15. Jak wykryć nowe linie w stringu?

    draw_text_ext(x, y, lista[| i], 20, 300); Powinno łamać tekst... chociaż? Nie wiem, musiałbym popróbować. Wydaje mi się, że będzie łamać tekst, ale mogą się nachodzić góra/dół :/
×