Skocz do zawartości

Threef

Moderatorzy
  • Postów

    2 911
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    14

Treść opublikowana przez Threef

  1. Twój błąd może być z maskami. W create wstaw: GML mask_index=sprite_index , a w grafice postaci odznacz "Precise collision checking" Jak to nie pomoże to spróbuj tak jak pisałem 10 dni temu i dodaj GML move_outside_solid(90,0) Jak to też nie zadziała to prześlij mi w prywatnej wiadomości cały kod postaci i zobaczę co da się zrobić.
  2. HEJ! Ja za napisanie takiego samego programu zapłacę 6,99zł!!! Okazja! Dobra, pośmiejmy się jeszcze troszkę, a potem usunę ten temat.
  3. Threef

    Foto-galeria

    Actually... biegłem z siku do dziewczyny. Ale ofc nie mojej. :cool2:
  4. MaxGaming: Nie używam sampli (chyba ze perkusyjnych) i nawet staram się kręcić gałkami w syntezatorach żeby brzmiały oryginalniej (pomijając oczywiście klasyczne instrumenty). Morning Dew to głównie Pad (ten łagodniejszy) i coś co mam w kategorii 'Synth Comp' pod nazwą 'Enchanted Forest' (To ten bardziej wyrazisty) i nie wiem co to. Przypomina klawisze ze sporym delay. Oba mają też spory release oraz reverb. Wszystko dopełniają dzwoneczki. Ogółem nie wspomniałem że tworzę w Cubase 5. To był pierwszy DAW który spełniał wszystkie moje wymagania, a i tak wciąż się go uczę. Poprawiłem lekko Ascend (Piano)
  5. Chyba pora założyć i swój temat w tym dziale. Postaram się ten pierwszy post trzymać jakoś schudnie i od czasu do czasu wrzucać to lepsze utwory a gorsze wywalać. Biorąc udział w Game Jamach musiałem w końcu zabrać się za robienie własnej muzyki. Moim problemem w większości jest słaby PC i brak jakichkolwiek instrumentów, ale jakoś sobie daję radę. Znam troszeczkę teorii, ale słuch mam w miarę dobry. Te utwory nie są finalne dlatego nie są na SoundCloud, ani nigdzie indziej. Niby jest też download, ale nie ma sensu w jego używaniu. Morning Dew | Odsłuch | Mały loop który ma być motywem wstającego słońca. Jestem z niego zadowolony, ale po czwartej pętli zaczyna niesamowicie męczyć. Ascend (Piano) | Odsłuch Odsłuch v2 | Jakiś preset pianina z nałożonym reverbem, a pod spodem szarpany bass, plus chór wokalny aby zapełnić przestrzeń. Rzadko wychodzą mi ciekawe motywy klawiszowe. Ten jest chyba ok. v2 ma lekką wariację aby się nie nudziło. Ascend (Guitar) | Odsłuch | Spróbowałem pod ten sam motyw podstawić gitarę. Sporo nie pasowało, aż w końcu trafiłem na takiego elektryka. Lekko go podkręciłem, zmieniłem nuty i powstało to. Będę przy tym jeszcze siadał bo to całkowity WIP i nawet teraz słyszę co mogę poprawić, ale i tak muszę dodać do tego coś więcej. No i myślę nad szybszym tempem. Ogółem mam problemy z powtarzalnością i chciałbym się tego oduczyć. A motyw z Ascend bardzo mi się podoba i myślę żeby poświęcić mu kilka tygodni.
  6. Bardzo ciężko określić z czym jest problem. Tydzień temu zdarzyło mi się użyć tego samego zdania: "Wbrew pozorom zrobienie platformówki jest bardzo trudne".
  7. Bardzo dobra dedukcja. Właśnie to się dzieje. Teraz pytanie czy ja dobrze zrozumiałem. Jak ludzik chce iść to nie może, ale jak podskoczy i wyląduje to może już chodzić? Jeżeli tak to po prostu źle został umieszczony w edytorze room. Ale jeżeli po wylądowaniu też nie może chodzić (albo czasami tylko może) to wciąż jest błąd z kodem sprawdzającym kolizje.
  8. Threef

    DORG

    Po to są funkcje 3D, alby móc próbować jakieś wyrąbane w kosmos efekty, przejścia, menu, etc. Nie do gier 3D. GM nigdy nie nadawał się i nigdy nie będzie się nadawać do gier 3D. W szkole też możesz pisać kamieniem, ale po co?
  9. A nie możesz ustawić origin ściany na [16,16]? Noobowskie rozwiązanie ale działa.
  10. Nie mam za bardzo pomysłu, ale nie zaszkodzi spróbować zrobić. GML floor(lengthdir_x(16,dir))alboGML round(lengthdir_x(16,dir))
  11. Tak, używałem tego w co najmniej 3 projektach. Zasada działania wygląda tak: GML pliczek=http_get("http://www.twojastrona.com/pliczek.txt") Dodajesz event Async HTTP. W evencie robisz GML if ds_map_find_value(async_load, "id") == pliczek { if ds_map_find_value(async_load, "status") == 0 { r_str = ds_map_find_value(async_load, "result"); } else { r_str = "null"; } } Teraz zmienna r_str zawiera całą zawartość pliku jako string. Czemu tak jest? Bo event jest asynchroniczny i może zabrać np 2 sekundy zanim pobierze dane, a gra będzie działać w tle. Event zostaje wykonany gdy zostaną pobrane dane i te dane są w specjalnej ds_map o nazwie async_load. Musisz jeszcze sprawdzić jakie dane, bo możesz pobierać kilka różnych w tym samym czasie i nie muszą przychodzić po kolei.
  12. W GM:S wystarczy jedna funkcja: http_get()\ Poczytaj w dokumentacji bo jej użycie nie jest zbyt łatwe.
  13. To nigdy nie działało, bo prawie nigdy ta wartość nie będzie wynosić 0.
  14. Threef

    Foto-galeria

    Poznań Game Jam
  15. Proste instance przestał istnieć. GML if a!=0 && instance_exists(a) { a.x=x a.y=y }
  16. Sorry za offtop, ale po prostu się męczysz. Co powstrzymuje Cię przed Unity?
  17. Poprawnie robić klamry. One służą do oddzielania bloków kodu. Jeżeli wstawisz przed blokiem if (funkcję warunkową) to blok wykona się tylko gdy będzie spełniony warunek. W twoim wypadku kod odpowiadający za zmianę grafiki jest za każdym razem poza blokiem, a przez to zawsze się wykonuje i w efekcie brany pod uwagę jest tylko ostatnie wykonanie tego kodu.
  18. Więc żeby nie było. Zgłaszam się Jedną z rzeczy która bardzo dobrze wyszła w GMDuel było właśnie ustalanie terminów. Zgłaszałem się do obu uczestników aktualnej rundy i pytałem kiedy komu pasuje. Nie było dzięki temu sytuacji typu "babcia mi umarła i nie zrobiłem gry". Ale z drugiej strony GMDuel ciągnął się przez to dość długo. (ale chyba nie sprawia wam to problemu?) No i jeszcze raz chciałbym przypomnieć że jest to dopiero temat przygotowań.
  19. Popieram i wspieram. Wrócę tu jeszcze.
  20. with(id_instancji){instance_destroy()}
  21. GML point_distance(mouse_x,mouse_y,x,y) zamień na GML abs(mouse_x-x)
  22. place_free(x,y+1) musi być sprawdzone razem ze sprawdzeniem klawisza skoku.
  23. Blokowanie skoku w powietrzu jest najłatwiejszym z twoich problemów. Skoro podłoga jest solid to aby sprawdzić czy postać stoi na niej musisz wykonać prosty test. Czy jak przesunę postać o 1px w dół to będzie kolizja? Wystarczy do tego sprawdzenie tego place_free(x, y+1). Natomiast twoje problemy z kolizją mogą być rozwiązane na kilka sposobów. Pierwszy sposób który od razu zadziała to po wykryciu że postać jest wewnątrz podłogi musisz ją z tamtąd wyjąć. Funkcja move_outside_solid() to rozwiąże. Niestety ten sposób może czasem powodować poważne błędy (zależy od designu mapy). Drugi sposób to wykrywanie czy za chwilę (następny step) dojdzie do kolizji i zmianie ruchu w taki sposób aby do niej nie doszło. Ten sposób będzie częściej działać. Pewnie gdzieś masz kod od grawitacji wyglądający tak: GML if(place_free(x,y+1)) { gravity=0.1 } else { gravity=0 } Musisz go zmienić w coś takiego: GML if(place_free(x,y+1)) { gravity=0.1 } else { gravity=0 move_contact_solid(270,0) } Sposób ten działa na zasadzie nie pozwolenia postaci na wskoczenie "wewnątrz" podłogi, a zamiast tego przesuwa ją jak najbliżej.
×
×
  • Dodaj nową pozycję...