Skocz do zawartości

peterz_pl

Użytkownicy
  • Postów

    134
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez peterz_pl

  1. Cześć ludkowie, Czy wiecie może jak zaprzestać wyłączania gry (GameMaker: Studio) po kliknięciu klawisza escape? W opcjach tego brakuje.
  2. To nie to, że idę na łatwiznę, ale nie mam pojęcia jak to połączyć. Create: GML global.zoom=1; zoom_min=.1; zoom_max=10; base_width=1024; base_height=768; Step: GML if (mouse_wheel_up() && global.zoom<zoom_max) { global.zoom+=.1; event_user(0); } if (mouse_wheel_down() && global.zoom>zoom_min) { global.zoom-=.1; event_user(0); } User Defined 0 GML var _mouse_x,_mouse_y; _mouse_x=(mouse_x-view_xview)/view_wview; _mouse_y=(mouse_y-view_yview)/view_hview; view_wview=base_width/global.zoom; view_hview=base_height/global.zoom; view_xview=mouse_x-view_wview*_mouse_x; view_yview=mouse_y-view_hview*_mouse_y;
  3. Chodzi teraz głównie o mouse_enter i mouse_leave dla Draw. Nie wiem jak to wytłumaczyć ;] Jeżeli chodzi o opcję #2, również z tego korzystałem i była najbliżej celu, tylko że gdy przybliżam lub oddalam mapę (skaluję view) to znowu punkty x1, x2, y1 i y2 się rozjeżdżają (przez co po najechaniu gdzieś obok guzika zmienia się zmienna). Czy można w tym kodzie zastosować aby pomimo skalowania view x1..y2 były stałe? GML if(mouse_x >= STAŁEX1 && mouse_x <= STAŁEX2 && mouse_y >= STAŁEY1 && mouse_y <= STAŁEY2) { zmienna = 1; } Zgaduję, że nie zrozumiecie mojej wypowiedzi, sam ledwo ją rozumiem :D
  4. @MaxGaming Dzięki, faktycznie działa. A czy jest możliwość wywołania jakiegoś kodu po najechaniu myszką na narysowany obiekt (w tym przypadku guzik)? Np żeby zmienił wartość zmiennej. Próbowałem czegoś w stylu: GML if position_meeting(mouse_x,mouse_y,self) Ale nie zdało egzaminu. Niestety Event Mouse Enter działa chyba tylko na obiekty.
  5. Zgadza się, skaluję view. Pomyślałem o image_x(y)scale (czyli oddala się view to obiekt się powiększa i odwrotnie). Co do Draw GUI, to niestety prawdopodobnie nie wiem jak tego użyć, gdyż teraz jest zarówno narysowany obiekt jak i fizycznie za nim też jest widoczny. @EDIT: Aby rysowane obiekty nie zmieniały wielkości, korzystam z przykładu Gnyska: http://www.gmclan.org/index.php?nius=437 @EDIT2: Rany.. "if mouse_check_button_pressed(mb_left)" w Draw i tyle w temacie. Dzięki za odp.
  6. Cześć. A więc w swojej grze zrobiłem (myślę, że dość "okrężną drogą") stały panel w opcjami (stały tj. przy przesuwaniu ekranu panel jest cały czas na górze ekranu). Do rysowania zastosowałem draw_sprite_ext, ale aby przycisk był "klikalny", położyłem obiekt na tej samej pozycji: Step: GML x=view_xview[0]+6 y=view_yview[0]+6 Problem leży jednak w skalowaniu ekranu (przy użyciu rolki przybliżam i oddalam ekran). Przy pomniejszaniu lub powiększaniu ekranu, obiekt zmienia wielkość. Zgaduję, że można tylko narysować ten przycisk Drawem i zrobić aby był klikalny. But how? ;)
  7. Cześć, Pytanie banalne, ale jednak je zadam, gdyż przeszukując forum nie udało mi się natknąć na odpowiedź. Czy istnieje możliwość zapisania obecnego stanu pokoju, przejście do kolejnego i powrót do Room_1? Coś podobnego jak zapis stanu gry, przejście do kolejnego i wczytanie gry. Czy do każdego obiektu muszę dodać zmienne np: global.postać1_położenie_x= global.postać2_położenie_x = ?? Z góry dzięki za podpowiedź.
  8. Zrobione, ale caly czas nie znajduje drogi. Coś zaraz wymyślę. EDIT: ok, już działa. Dziękuję wszystkim za pomoc.
  9. @Amaterasu: Siatka nie będzie na całej planszy (w odległości 64 kratki od boków mapy nie można tworzyć żadnych obiektów). Tak czy inaczej z tym jakoś sobie poradzę, @Threef: Chyba czegoś nie zmieniłem (ściana nazywa się obj_Wall, kod umieszczony w Create). ################################################################################ ############ FATAL ERROR in action number 1 of Create Event for object obj_pomoc: Variable obj_pomoc.allowdiag(100008, -2147483648) not set before reading it. at gml_Object_obj_pomoc_CreateEvent_1 (line 3) - if(mp_grid_path(id, path, xstart, ystart, xgoal, ygoal, allowdiag)) { ################################################################################ ############
  10. Ok, a przykładowo. Stworzyliśmy już cały mur, następnie stawiam w środku pokoju obiekt pomocniczy (ręcznie). Wtedy ten obiekt pomocniczy sprawdza, czy może znaleźć ścieżkę do punktu na mapie x=0; y=0;. Jeżeli PRAWDA= obiekt otwarty, jeżeli FAŁSZ= obiekt zamknięty. Oczywiście w każdym przypadku nie idź po ścieżce, tylko zwróć massage i usuń obiekt pomocniczy. Próbowałem skorzystać z przykładu "Znajdowanie_Drogi", ale nie do końca mam pomysł jak go zmienić.
  11. Pomieszczenia dowolnego rozmiaru i ksztaltu. @chell, myslalem juz o tym, czyli mial sprawdzac czy jest obiekt muru x + 32 etc. Ale nie dzialalo jak obiekt byl oddalony od muru na np 200pix.
  12. Witajcie moi drodzy, Dziś zwracam się do was z prośbą o wsparcie w poniższym dylemacie. W mojej grze za pomocą myszki można stawiać obiekty 32x32 na siatce (murek). I tu moje pytanie. Jak sprawić, aby GM sprawdzał czy mur tworzy zamkniętą przestrzeń? Jeżeli jakiś obiekt "jest w pomieszczeniu" to zmień zmienną z 0 na 1. Z góry dziękuję za pomoc.
  13. Cześć, Moi drodzy, od dobrych kilku dni borykam się ze stworzeniem imitacji... nazwijmy to: Płynu w obszarze zamkniętym. Wymyśliłem i napisałem to następująco: #1: Przy tworzeniu mapy obiekt umieszczam w obszarze zamkniętym (czarna linia - to klocki blokujące 16x16. ale nie w tym rzecz) #2: Po uruchomieniu gry, obiekt się "rozprzestrzenia", po prostu sprawdzając czy po lewo, prawo, w górę i w dół jest pusta kratka czy obiekt blokujący. Jeżeli pusto to tworzy obiekt/obiekty a sam dalej nie sprawdza. #3: W pewnym momencie wypełnia cały pojemnik, a działają tylko klocki obok obiektów blokujących (sprawdzają czy nadal jest blokada) #4: Jednakże, jeżeli gracz zniszczy jakiś blok, płyn zaczyna rozprzestrzeniać się dalej: #5: I w tym momencie mam problem. Chciałbym, aby płyn zaczął rozprzestrzeniać się do góry, kasując tym samym z mapy najstarsze obiekty. Czy konieczne jest zrobienie zmiennej dla każdego obiektu (stworzony jako pierwszy, drugi etc.)? Co w przypadku jak chciałbym stworzyć np 3 źródła? Z góry dzięki za podpowiedzi jak logicznie to rozwiązać. Niestety piszę to wszystko na klockach, więc jeżeli ktoś miałby pomysł jak napisać to w GML, byłoby cudownie.
  14. No właśnie, tylko brakuje mi pomysłu jak zrobić, żeby klocki sprawdzały czy dotykają ściany czy nie
  15. Witam :thumbsup: Mam mały dylemat i nie wiem jak go rozwiązać. Przedstawię sytuację: 1) Mamy kilka bloków 32x32. Dotykają siebie oraz ściany 2) Klikamy na jeden z bloków, ten znika.. 3) Reszta bloków nie połączonych ze ścianą zaczynają spadać na dół. 4) Bloki opadają na samo dno. Czy macie może jakieś ciekawe pomysły lub przykłady, które pozwolą mi wdrożyć coś takiego do gry? Z góry dzięki :) Pozdrawiam. PS: Wesołych
  16. tak, dziękuje :)

  17. Hey. Mam mały problem. Piszę właśnie program w GMie, wszystko fajnie. Szukam kodu, który zmieni nazwę pliku (plik znajduje się w folderze, obok pliku exe) o nazwie np: "costam.bin" na inną nazwę np "costam2.bin". Z góry dzięki za jakąkolwiek pomoc.
  18. Nie no spoko gierka będzie (mam nadzieje) :) Czekam na demo...
  19. U mnie to samo... wie ktoś jak to zrobić?
  20. Witam. W przykładzie System walki RPG ala Tibia [link] jest takie coś jak zachodzenie postaci za postać... lepiej dam obrazki: obrazek 1: gracz stoi za NPC. NPC zasłania gracza (tak jak by mniał mniejszy depth) obrazek 2,3,4 gracz przechodzi przed NPC: obrazek 5: gracz stoi przed NPC i teraz to on zasłania NPC. Probowałem wychiągnąć z tego przykładu kod ale nie wiem który z nich za to odpowiada, gdyż jest tam sporo kodu... Z góry dzięki za pomoc :)
×
×
  • Dodaj nową pozycję...