Skocz do zawartości

Amaterasu

Użytkownicy
  • Postów

    390
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Amaterasu

  1. Na naszym forum nie ma funkcji "spoiler", możesz najwyżej umieścić tekst w tagach (color="#EFEFEF")(/color) {zamień nawiasy okrągłe na kwadratowe} : ) Te funkcje robią właściwie to samo, co moje, tylko moje są rozbite na kilka mniejszych i chyba dają lepszy przelicznik kontroli nad krzywą do stopnia skomplikowania kodu, jako że są osobne funkcje dla każdej współrzędnej. E: właśnie zauważyłem, że twoje funkcje wykorzystują wagi punktów. Uznałem, że nie są zbytnio potrzebne do typowych zastosowań w grach i zwiększyłyby skomplikowanie kodu, dlatego nie umieściłem ich w moich funkcjach.
  2. @Japanstache: Tasks wychodzą poza ramkę, brzydko to wygląda w porównaniu z resztą.
  3. Gdybym przejmował się grafiką jako najważniejszym elementem moich projektów, nigdy nie doszedłbym do poziomu, na jakim obecnie się znajduję. Grafika jako ostatnia, najpierw kod.
  4. Możesz zrobić własne efekty i skonwertować do GML, potem korzystasz z funkcji part_particles_create(ind,x,y,parttype,number), w dokumentacji masz dobrze wyjaśnione, co i jak. Poświęć chwilę czasu i nie będziesz potrzebował żadnej pomocy przy żadnym efekcie.
  5. Amaterasu

    Hejtują Paqoo!

    Widzę, że czegoś się nauczył od YXE.
  6. Jeżeli masz już rozpoznawanie mowy z głowy, powinieneś napisać system obsługujący pożądane komendy. Z tego co wiem, język ładnie modeluje się grafami, również drzewami. Powinno to wyglądać jakoś tak: wykonaj_czynnosc(rozpoznaj_mowe()) przy czym wykonaj_czynnosc() przyjmuje za argument rozpoznaną komendę, wyszukuje ją w grafie/drzewie/innej strukturze i wykonuje daną czynność na podstawie instrukcji znalezionych w strukturze.
  7. Amaterasu

    Next-geny

    Nice move Vader.
  8. Niestety takiej funkcji nie ma : ( Nie ma tego złego, możesz zamiast tego zmieniać wartość pewnej zmiennej globalnej (np. global.lockkeyboard) i gdy trzeba - sprawdzać, czy global.lockkeyboard= 0
  9. Przykład stworzony z myślą o tych wszystkich, którzy chcieli kiedyś/chcą zrobić własnego RTS-a, ale nie wiedzą od czego zacząć pisanie kodu. Obejmuje on zaznaczanie/odznaczanie jednostek i prosty sposób na ich przemieszczanie do celu. Link: https://gmclan.org/up8433_14_strategia___jednostki.html Działa w GM 8.1 Lite. Bardziej zaawansowanym nie polecam sposobu, w jaki zrealizowałem sprawdzanie, kiedy jednostka powinna się zatrzymać xd
  10. Daje po oczach, ale nie bardzo wiem o co w tym chodzi.
  11. W GM8.1, chyba też w 8.0 jest: File -> Import/Export Resources
  12. Działa dla innych czterowymiarowych obiektów, czy tylko dla hipersześcianu? + czy da się cieniować taki obiekt? No i wydaje mi się, że ta kostka jest rzutowana na 2D, bo nawet 3D na komputerze jest rzutowane na 2D.
  13. End Step: GML if(!place_free(x,y)) {x = xprevious; y = yprevious} Simple as that. (przyjmując że obiekt ma małą prędkość)
  14. "obj_giantant.zmienna" odwołuje się tylko do pierwszego stworzonego obiektu obj_giantant. Jeżeli w obiekcie obj_giantant wykonujesz kod GML instance_create(obj_giantant.x, obj_giantant.y,kasa10_obj); to wykona się on tylko względem tego pierwszego obiektu. Nie trzeba tak robić, gdyż kod dotyczący danego obiektu można wykonać z pominięciem nazwy obiektu, o ile wykonuje się w tym obiekcie: GML instance_create(x,y,kasa10_obj) W dokumentacji są działy "Variables" i "Addressing variables in other instances" w których jest to dokładnie wyjaśnione, zaś w dziale "Moving around" znajdziesz listę zmiennych, które posiada każdy obiekt na samym początku. Proponuję przeczytać te rozdziały, na stronie głównej GMClanu jest dokumentacja po polsku jeśli masz problemy z angielskim, a następnie wypróbować tych skryptów/funkcji w jakichś przykładowych projektach.
  15. GML if(zycie <= 0) { if(random(100) < 10) { instance_create(obj_giantant.x,obj_giantant.y,kasa10_obj) } } Konstrukcja if(random(100) < x) { /kod/ } powoduje, że /kod/ wykona się z prowdopodobieństwem x%.
  16. Chyba już to kiedyś przerabialiśmy...
  17. Zgadzam się z Chellem. Gładkie postaci w tym stylu rysowania wyglądałyby lepiej.
  18. A jeżeli przedmioty mają jakieś dodatkowe dane, np. ilość przedmiotu, cena, poziom uszkodzenia? Trzeba będzie robić więcej list, a najlepiej siatkę do inventory.
  19. Fajne, podoba mi się.
  20. Kod zalecany if(x > player.x) sprite_index = s_adam_le else sprite_index = spr_adam Ewentualnie sprite_index = spr_adam image_xscale = sign(player.x-x)+(sign(player.x-x)==0)
  21. Trzeba wyłączyć, naciskając spację będąc w kolizji z telewizorem, chyba że nie tak chciałeś.
  22. EDIT GML if(on) //kod przy włączonym TV { if(!playing) sprite_index = s_tv_off //jeśli dźwięk nie włączony, zmień sprite'a else sprite_index = s_tv_on //w przeciwnym wypadku zmień sprite'a if(distance_to_object(player) < 300) //jeśli wystarczająco blisko { if(!sound_isplaying(sound7)) //jeżeli jeszcze nie jest włączony dźwięk { if(playing) //i jeżeli dźwięk ma się włączyć { sound_play(sound7) //włącz go playing = -1 //nie włączaj ponownie dźwięku } } else //jeżeli już włączony { sound_volume(sound7,max(0,1-(distance_to_object(player)/300))) //reguluj głośność } } else //po oddaleniu się od telewizora { sound_volume(sound7,0) //wycisz TV } } else //kod przy wyłączonym TV { sprite_index = s_tv //zmień sprite'a } Drobna pomyłka, sry :\
×
×
  • Dodaj nową pozycję...