Skocz do zawartości

Muuuuczek567

Użytkownicy
  • Postów

    1 472
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Muuuuczek567

  1. A budynki można spokojnie zrobić, używając primitive 2D.
  2. Łoł... Wiesz, nad grą GTA (mówię o trójce i późniejszych, bo są 3D) pracował długie miesiące cały sztab doświadczonych grafików, programistów itd. A Ty jesteś sama i dopiero zaczynasz. Pomogę Ci, ale raczej powinnaś zabrać się za inny, łatwiejszy projekt. Co do sygnalizacji, trzeba użyć eventów Alarm, żeby odmierzało czas potrzebny do zmiany świateł. Alarm 0: kolor = 'zielony'; alarm[1]=room_speed*5 Alarm 1: kolor = 'żółty'; alarm[2]=room_speed*2 itd. Żeby samochody mogły jeździć po stworzonym przez Ciebie mieście, musisz stworzyć waypointy (takie miejsca, do ktorych podążają samochody), a potem użyć funkcji mp_potential_step (sprawi, że samochody zaczną jeździć do wybranego celu). Ze wsiadaniem jest o tyle kłopot, że kod będzie dość długi. Powiem tylko, że będzie zawierał w sobie prędkość pojazdu, zmienną sprawdzającą, czy w samochodzie jest już ktoś inny i odległość od pojazdu. To nie jest takie łatwe.
  3. Lepiej ustaw parenta. Robiąc to, nie będziesz się musiał rozpisywać, tak jak Cordoba.
  4. Co do funkcji sprawdzających kolizje, możesz użyć place_free i place_empty. Najpierw wszystkie Step, potem kolizje, potem End Step. HuderLord podał kolejność.
  5. Step -> End Step. Wpisany tam kod wykona się po Stepie i po kolizji, ale przed Drawem. E: nie ma tak, że najpierw jeden obiekt wykona wszystkie eventy, potem drugi obiekt, trzeci itd. Najpierw wszystkie obiekty, po kolei (poczynając od tego z najmniejszym id, czyli tego stworzonego jako pierwszy) wykonają jeden event, potem po kolei drugi, trzeci itd.
  6. Tak naprawdę mogłoby być: GML for(i = 1; i <= 9; i += 1) for(j = 1; i <= 9; j += 1) global.siatka[j,i] = collision_point(32+32*i,32+32*j,all,true,true) jeśli pogodzisz się z tym, że w miejscu, w ktorym nie ma obiektu, tablica nie ma wartości 0, a -4.
  7. Muuuuczek567

    Casuale

    Madness: Accelerant Pasjans Saper Tetris Bomberman Space Invaders i klony Jets'n'Guns N
  8. W Collision: visible = true lub: sprite_index = /nazwa sprite'a/
  9. Można też używać funkcji point_distance|point_direction tylko raz na Step dla danego obiektu, przypisując ich wartości do zmiennych. Używanie tych funkcji kilka/dziesiąt razy na Step nie jest potrzebne.
  10. mask_index to zmienna, nie funkcja. Przypisz znakiem równości.
  11. Pfff... Gdy naciśniesz "P", to po kodzie zmieniania sprite'a powinieneś przypisać do mask_index nazwę tego sprite'a, który ma być wyświetlany. Tak samo po "B" i po każdym innym.
  12. No to problem chyba jest rozwiązany. Wraz ze zmianą sprite'a dopisuj kod do zmiany maski. Zmienna mask_index.
  13. Eee... Nie wiem, o co Ci teraz chodzi. Używasz eventu Draw?
  14. Jeśli w evencie naciśnięcia slotu ustawiasz t1 na true, to musi działać. Ewentualnie po tym daj kod: show_message("działa") Problemem może być, że jeśli zmieniasz sprite'a lub skalujesz go, to maska też się zmienia lub skaluje. Ponadto, jeśli rysujesz sprite'y w evencie Draw, to maska nie działa dla wszystkich narysowanych sprite'ów, tylko dla tego ustawionego jako sprite początkowy.
  15. @ANtY: lol Daj w Step: if(x != xprevious)||(y != yprevious) image_angle = point_direction(xprevious,yprevious,x,y)
  16. Załaduj do zmiennej cały tekst z pliku, edytuj odpowiednim kodem, a potem zapisz ten tekst do pliku. Nie napiszę znowu kodu, bo jest to wystarczająco proste, żerbyś mógł to sam zrobić, zresztą gdzieś na forum był przykład.
  17. Efekt ognia, niezbyt dopracowany. To są grafiki z platformówki, którą przestałem robić 3 dni po zaczęciu pracy nad nią :/ A to jest z już skończonej gry. Można ustawić dowolną ilość min i wielkość mapy (tzn. max 30x30).
  18. Sposób pierwszy, jeśli się nie mylę, jest wolniejszy od drugiego. mouse_x i mouse_y są liczone niezależnie od viewa (tzn. jeśli najedziesz kursorem na lewy górny róg okna, to mouse_x będzie równe view_xview - i tak samo z mouse_y). W sposobie drugim barierę zrobić bardzo łatwo. W End Step object1: GML with(all) if(x < 100) x = 100 x = xprevious Ja kiedyś robiłem jeszcze inaczej, po prostu dawałem obiekt (u Ciebie listę) daleko poza planszą i tam ustawiałem viewa. Nie martwiłem się o żadne niewidzialne ściany, ale sposób to nie najszybszy.
  19. Muuuuczek567

    Ateizm

    Mówiłem o tych mieszkańcach Afryki, do których misjonarze jeszcze nie dotarli. Czyli według ciebie, inteligencja i wartość człowieka zależą od tego, gdzie się urodził. Smutne. Co do teorii strun, trochę trudno mi się z nią zgodzić. O ile się nie mylę, teoria strun zakłada istnienie bytów o wielkości 10^-39 m, z których wszystko jest złożone.
  20. Muuuuczek567

    Ateizm

    KAŻDY "filozoficzny" temat jest czytany przez >10 liczbę userów GMClanu. Co za fenomen. @Alternative: jesteś w moim wieku, a oleju w głowie masz tyle, co przeciętny 10-latek. No patrz - a oni się nie zabijają. Dlaczego? Do przemyślenia. Ja bym poszedł do pokoju siostry :P
  21. To wg Crackkk-GM świadczy o poziomie GMClanu, Arkariusie.
  22. Draw GML x=view_xview+0 y=view_yview+0 draw_sprite( sprite_index, image_index, x, y)
  23. Tzn. nie nazwę, tylko ten drugi człon :)
×
×
  • Dodaj nową pozycję...