Skocz do zawartości

Muuuuczek567

Użytkownicy
  • Postów

    1 472
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Muuuuczek567

  1. U mnie działa, ale to i tak będzie nieprzydatne, bo zmienna po zakończeniu eventu Draw zawsze przyjmie wartość 1. To dlatego, że event Draw wywołuje się tyle razy, ile jest viewów, więc siłą rzeczy ostatnią instrukcją wykonaną w Draw jest nadanie zmiennej wartości 1.
  2. Ta funkcja zwraca tylko 2 wartości true i false. Więc niestety nie Mylisz się. Wszystkie funkcje collision_ zwracają ID obiektu, jeśli jest jakiś obiekt w polu oznaczonym argumentami funkcji, w przeciwnym wypadku zwracają noone (-4, czyli w sumie false). collision_point zadziała. Wyszukiwanie binarne + collision_line jest bardzo dobrym pomysłem, gdyż zwiększenie zasięgu dwukrotnie spowoduje wydłużenie czasu obliczeń tylko o jedno wywołanie. Nie stracisz fps. Gdzieś nawet zamieściłem kompletny skrypt, możesz poszukać w dziale "Skrypty, przykłady, dodatki" albo przeszukać moje tematy. Obliczanie kątu jest bardzo proste. Musisz tylko wiedzieć, do czego służy point_direction(x1,y1,x2,y2) i wykorzystać to. Ta funkcja pozwoli Ci również obliczyć kąt odbicia promienia od powierzchni kulistych. Mam nadzieję, że pomogłem :-)
  3. Ja miałem największą frajdę, gdy nauczyłem się obsługi surface'ów na podstawie przykładów Psichixa. Był tam przykład 'Paint' korzystający z surface'ów, a ja, korzystając z wcześniejszej wiedzy, przerobiłem go tak, aby działał na wersji Lite - był identyczny.
  4. @Sernat: 95% to gruba przesada. Poziom ambicji nie jest proporcjonalny z poziomem, jaki reprezentują gry. Przynajmniej w pierwszych latach programowania, a przecież wiele osób zaczyna właśnie od GameMakera. @Prodayle: początki programowania? 2,5 roku temu kolega pokazał mi Game Makera i prostą gierkę, którą stworzył w pół godziny. Nie powiem, zadziałało na moją wyobraźnię :) Nie potrafię opisać mojej metody uczenia się, bo dość płynnie zmieniała (i zmienia wciąż) swoje granice. Raz tworzyłem malutkie gierki, innym razem uczyłem się korzystać z funkcji opisanych w dokumentacji, a których nie umiałem użyć - czy to robiąc proste przykłady, czy to po prostu korzystając z show_message, aby wyświetlić wyniki obliczeń. M. in. tak nauczyłem się podstaw trygonometrii, algorytmiki genetycznej, poznawałem nowe metody optymalizacji (przyspieszania) itp. Myślę, że to się sprawdziło.
  5. @Prodayle: najpierw sprawdź, czy podany kod działa, a potem osądzaj :) @karolo320: zdajesz sobie sprawę, że Twój kod jest nie dość że nieczytelny, to jeszcze im większy zasięg broni, tym wolniejszy? @gnysek: tylko nie pokazuj im mojego kodu :3
  6. Ja bym zrobił to tak: Create: GML prz = 1 //czy przeladowany pistol_kontrol = 1 //czy pistolet moze strzelic bron = 1 //1 to pistolet, 2 to maszynówka ammo = /liczba\ bron_prz = /liczba\ //minimalny odstep miedzy strzalami</span></span> Strzelanie: GML if(ammo)&&(prz)&&((bron != 1)||(pistol_kontrol = 1)) { new = instance_create(main_hero.x + 32*global.dir, main_hero.y, Strzaly); new.hspeed = 30 * global.dir; new.image_xscale = global.dir; new.direction = 90 - 90 * global.dir prz = 0 if(bron = 1) pistol_kontrol = 0 alarm[0] = bron_prz } Key Release (klawisz strzelania): GML pistol_kontrol = 1 Alarm 0: GML prz = 1 Nie jestem pewny, czy to zadziała, więc zrób najpierw kopię zapasową.
  7. To nie ma prawa działać. Jedynym skutkiem włączenia alarmu jest ponowne nastawienie go. Sądząc po budowie kodu uważam, że w obecnej postaci nie ma szans na poprawienie go tak, aby działał i jednocześnie był czytelny.
  8. Będzie jakaś mapka w piekle, niebie lub innym wymiarze? Domek na tropikalnej wyspie jest brzydki. Leżak i antena za to genialne : D
  9. Zamykasz plik przed zakończeniem działania biblioteki? Nie widzę innej przyczyny problemu.
  10. Może dlatego gra została umieszczona w dziale "Dema gier i programów".
  11. Podaj kod, który masz tam, gdzie te operacje z plikiem.
  12. Powinieneś mieć pożliwość przewidzenia, kiedy plik nie będzie pusty. Nie wiem, czy to zadziała: GML f = file_text_open_read(ścieżka) if(file_text_eof(f)) { file_text_close(f) exit //jeśli jest pusty, dalszego kodu nie wykona } dalszy kod
  13. Muuuuczek567

    Mandat

    Mało prawdopodobne.
  14. To zależy od rodzaju pliku, który się tworzy. W każdym razie plik dopiero co stworzony zawsze zajmuje zero bajtów, więc nijak sprawdzić, ile będzie zajmował po wypełnieniu go - chyba, że wcześniej obliczy się ten rozmiar na podstawie danych, które zapiszesz.
  15. Zbędne są też klamry, ale to już się tak czepiam.
  16. @Shil: ściągnij darmowy program VirtualDub. Łatwo się z niego korzysta. Instrukcje: -Żeby powycinać fragmenty filmów, zaznacz je na osi czasu i naciśnij [Delete] -Zmienianie jasności i wielu innych parametrów filmu znajduje się w menu Video -> Filters... -> Add... -> i wybierasz sobie Zanim zapiszesz edytowany film, zaznacz w menu Video "Direct stream copy", co przyspieszy zapisywanie pliku i nie pogorszy jakości filmu. Gdybyś miała wątpliwości, możesz poszukać poradników w internecie.
  17. o.O Chyba myślę zbyt prostolinijnie : ( No i dobrze by było, gdyby broń wyrzucona zostawała jakiś czas na ziemi, żeby można było porównać obie. Chyba, że zrobiłeś inaczej celowo.
  18. Jeśli obiekt green/violet zmieni pozycję, to nie będzie się zmieniać.
  19. 1. GML draw_set_alpha( 0.3) draw_rectangle_color(x,y,x+2000,y+2000,c_black,c_black,c_black,c_black,0) draw_set_alpha(1) 2. draw_sprite(sprite,-1,view_xview,view_yview) @up: : D
  20. W którym obiekcie jest ten kod? Podejrzewam, że rozwiązanie jest następujące: GML if (k == 1) { with(violet) instance_change(green,true) } else if (k == 2) { with(green) instance_change(violet,true) }
  21. Biorę w ciemno, jeśli włączy się na moim komputerze w krócej niż osiem sekund.
×
×
  • Dodaj nową pozycję...