Skocz do zawartości

candy

Użytkownicy
  • Postów

    491
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez candy

  1. Proszę bardzo: GML i=0; plik_we=file_text_read_open("plik.txt"); while(!file_text_eof(plik_we)) { tab=file_text_read_string(plik_we); file_text_readln(plik_we) i+=1; } file_text_close(plik_we)
  2. Jeżeli pietrucha owinie natką podłoże a gracz będzie musiał tak manewrować pietruszką (huśtać ją) żeby wskoczyć, to zostaw. Jeżeli nie, to usuń to. To jest raczej błąd.
  3. Myślałem, że pietruszki są białe ;D Postać się przycina przy podłożu: o tak. Skorzystaj z maski. Dorób animacje.
  4. with(cylinder_p) cały kod zawarty w klamrach odnosi się do cylinder_p. A w nim nie masz zmiennej tlok_p.
  5. Dorób jakieś bonusy. Na przykład nieśmiertelność za combo x20, zebranie wszystkich grzybków co są na ekranie, zniszczenie ośmiornic (cthulu) co są na ekranie, odwrócenie sterowania (to raczej nie bonus), strzelanie itp. Dodaj opcję, że najlepsze wyniki (z powtórkami) można wysyłać na jakiś serwer i są one dostępne dla wszystkich graczy (taka "globalna" top lista).
  6. Pod zmienna wpisuj object_index obiektu, który ma być stworzony, np: GML zmienna=object_ludzik; instance_create(x,y,zmienna) //albo zmienna=17; instance_create(x,y,zmienna) W drugim przypadku zostanie stworzony obiekt, który został dodany do listy obiektów (drzewko zasobów) jako 18 (liczymy od zera). Każdy dodany obiekt ma o 1 object_index większy niż poprzedni. Łatwo można to przerobić, aby wywoływać ze skryptu.
  7. GML //create a=0; //step if(a<=50) { a+=1; x+=1; } O to Ci chodziło?
  8. GML if(collision_line(xprevious,y,x,y,nazwa obiektu,1,0)) { //akcja } Oczywiście musisz to rozbudować.
  9. Sympatyczna gierka. Jak poprawisz kilka rzeczy to będzie wypas. Nie wiem jak u innych, ale u mnie gra "zatrzymuje się" na chwilę w miejscu kiedy wpadnę na samolot albo jak dostanę nabojem. Zamieniłbym skakanie (chodzi o to żeby kaczka skakało dopiero przy naciśnięciu strzałki w górę, a nie ciągle jak się trzyma strzałkę). Jak dla mnie postać dziwnie schodzi po podłożu nachylonym pod kątem 45 stopni. Idzie do przodu, spada i tak w kółko. Używasz maski w bohaterze? Kaczka czasami się zacina gdy wchodzi po drabinie (nachodzi strzelbą na podłoże i stoi). Oczywiście grafika pierwsza klasa. Ja też robię wszystkie grafiki w Paintcie (Paint rulez). Muzyczka pasuje do gry. Rozbudowane i przede wszystkim dobrze zaplanowane poziomy są wielkim plusem gry. Nie świeci pustką. Mam nadzieję, że poprawisz te małe niedociągnięcia i otrzymamy porządną i solidną gierkę.
  10. Wystarczy przed wyłączeniem gry zapisać dane do pliki txt albo ini. Przy uruchamianiu gry, musisz je wczytać: GML //zapis plik_we=file_text_open_write("plik.txt");// otwieramy plik do zapisu for(i=0;i<30;i+=1)//30 roomów, więc 30 powtórzeń { file_text_write_string(plik_we,string(global.rzecz))//zapisz i-tą zmienną jako string file_text_writeln(plik_we)//przejdź do kolejnej linijki w txt } file_text_close(plik_we)//zamknij plik //odczyt plik_we=file_text_open_read("plik.txt");//otwórz plik do odczytu i=0; while(!file_text_eof(plik_we))//powtarzaj jeżeli nie dotarliśmy do końca pliku { global.rzecz=file_text_read_real(plik_we)//wpisz kolejne zmienne z pliku do tablicy file_text_readln(plik_we) i+=1; } file_text_close(plik_we) Dodaj do tego jeszcze szyfrowanie i odszyfrowanie, to nikt nie będzie Ci grzebał w pliku (a przynajmniej utrudnisz mu w tym robotę).
  11. Skorzystaj z globali. Tworzysz tablicę n wymiarową, np. global.rzecz. Indeks oznaczałby numer rooma. Jeżeli zabrałeś przedmiot, to zmieniasz wartość w odpowiedniej komórce. Po ponownym wejściu do rooma sprawdzasz wartości odpowiednich komórek. Jeżeli wartość odpowiada, że przedmiot został zabrany, to usuń przedmiot z rooma.
  12. W przykładach masz kilka przykładów jak szyfrować. Możesz także poszukać w necie jakiś fajny sposób szyfrowania. Ale najfajniej jest samemu coś naskrobać. Może trwa długo, ale za to masz dużą satysfakcję. Nikt Ci nie poda własnego sposobu szyfrowania. Wtedy szyfr będzie znany i będzie można go złamać.
  13. Pomocna okażę się funkcja: GML draw_sprite_part_ext() Do argumentu yscale wpisz -1. Resztę argumentów ustaw do swoich potrzeb.
  14. No bo w tym czwartym pod kontrol wpisujesz 3, a następnie dodajesz 1. 3+1=4.
  15. Oczywiście, że się da. Skorzystaj z funkcji place_free(). Teraz Twoja kolej ;D
  16. Ponieważ ustawiłem mu Origin x i y po środku sprite'a. Zamień te parametry w opcjach sprite'a.
  17. Pliczek dla Ciebie: plik. To jest jeden z wielu sposobów jak można to zrobić.
  18. Postaraj się samemu to napisać. Potraktuj to jak zadanie domowe. Jak sam to napiszesz, to nauczysz się czegoś nowego i zdobędziesz dużo doświadczenia. Ja mogę Ci podpowiedzieć z czego skorzystać: funkcje if(), choose(), image_index/sprite_index, hspeed, vspeed, alarm[]/pętle(loop). Poczytaj o tym w helpie. Moim zdaniem jest o wiele lepiej napisać kod (nawet jeśli zajmie to 2 tygodnie) niż spisać gotowca i zastanawiać się jak algorytm działa. Jak staniesz w miejscu i nie będziesz mógł ruszyć dalej, to wtedy zapytaj i wrzuć własny kod. Zobaczymy co da się zrobić.
  19. Losuj za pomocą choose() liczby 1,2,3,4 Niech 1 oznacza, że postać idzie w lewo, 2 w górę itd. Gdy wylosujesz liczbę sprawdź czy postać jest oddalona od swojego punktu startowego o 256 px (skorzystaj z xstart i ystart). Gdy okaże się, że postać jest, to wróć do punktu pierwszego (losuj cyfrę). Gdy jest bliżej pozwól jej iść w odpowiednim kierunku.
  20. Robisz obiekt np. obj_start i wrzucasz go do rooma start. Odpalasz grę przez room start. W create obj_start wpisujesz: GML global.fajki_zabral=false; global.dres_przepusc=false; idz do rooma gra// nie pamiętam jako to instrukcja.</span> Obj_fajki GML //CREATE if(global.fajki_zabral) instance_destroy() //Kolizja z graczem global.fajki_zabral=true; instance_destroy() Obj_dres GML //CREATE if(global.dres_przepusc) solid=false; else solid=true; Jeżeli umiesz obsługiwać pliki zewnętrzne (txt, ini), to wczytywaj dane z plików (tak samo zrobiłbym z wczytywaniem map- mniejsza waga gry i szybszej się ładuje).
  21. Nazwę koloru. W helpie wpisz 'color' i zobacz jak się je podaje jako argumenty.
  22. Funkcja ta zwraca true albo false. Zatem mamy dwie metody: GML //pierwsza metoda zmienna=show_question("TEKST");//zmienna przyjmuje wartosc logiczna show_question if(zmienna)// sprawdzanie akcja 1// akcja else akcja 2 //druga metoda if(show_question("TEKST"))//tutaj od razu sprawdzamy akcja 1 else akcja 2
  23. Tak jak napisałem wcześniej. Zrób podobny kod, który Ci podałem: GML if(collision_point(x +/- xyz,y,obk_schody,1,0))// sprawdzasz teraz w kierunku x nie y x +/- = xyz; Byłoby dobrze jeżeli skorzystasz z maski dla bohatera (poczytaj o tym na forum, wiele razy było). Maska ułatwia kodzenie w platformówkach. A tak swoją drogą, jak będziesz się szybko poddawał, to dużo nie osiągniesz. Lepiej posiedzieć godzinę/dwie , samemu napisać dwie linijki kodu i zrozumieć jak działają funkcję. To zawsze zaprocentuje.
×
×
  • Dodaj nową pozycję...