
m97
Użytkownicy-
Postów
147 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez m97
- Poprzednia
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- Dalej
-
Strona 6 z 7
-
Warunek sprawdzający czy jest prawdziwy co kilka stepów.
m97 opublikował(a) temat w Pytania początkujących
Witam, mam następujący problem mam rozlewającą się wodę (wiem, że kiedyś o tym pisałem) i warunek, który sprawdza czy obok wody jest wolne miejsce. Prędkość pokoju wynosi 30 a ja bym chciał aby ten warunek był sprawdzany 5 razy na sekundę bez zmiany prędkości pokoju. -
Witam, mam taki kod: GML draw_sprite(sSkrzynia,-1,x,y) h = 0 if(otwarta = true){ while(h < 15){ y = view_yview div 32*32 draw_sprite(kratka_plecaka,-1,Skrzynia[h,6]+view_xview,Skrzynia[h,7]+y) draw_sprite(Skrzynia[h,1],-1,Skrzynia[h,6]+view_xview,Skrzynia[h,7]+y) if(Skrzynia[h,4] > 0){ draw_text(Skrzynia[h,6]+view_xview,Skrzynia[h,7]+y,Skrzynia[h,4]) } h += 1 } h = 0 } h = 0 Problem polega na tym, że gdy otwieram skrzynię przenosi się ona na pozycję której x to miejsce kliknięcia a i y to 0. Nie wiem dlaczego tak się dzieje. Oprócz tego mam jeszcze jedno pytanie, czemu kiedy tworzę zmienną , przypisuję do niej id obiektu a następnie w drugim obiekcie robię coś takiego: GML if(zmienna_z_id.zmienna_lokalna_innego_obiektu = true){ //jakieś instrukcje } To kompilator mi zgłasza, że nie zna tej zmiennej.
-
Czyli zamiast nazwy tablicy powinienem podawać id obiektu skrzynia? Czy id pobiera się w ten sposób: GML var a a = id skrzynia
-
Nie wiem czy mnie dobrze zrozumiałeś. Oto kod który tworzy skrzynię (skrzynia to zmienna lokalna): GML h = 0 otwarta = false while(h < 15){ Skrzynia [h,0] = false//pusty Skrzynia [h,1] = pusty//sprite przedmiotu Skrzynia [h,2] = false//czy stackowalny Skrzynia [h,3] = 1//liczba stackowalnych przedmiotow Skrzynia [h,4] = 0//liczba przedmiotow w kratce Skrzynia [h,5] = 0//rodzaj if(h < 5){ Skrzynia [h,6] = (h*32)+96//pozycja x Skrzynia [h,7] = 288//pozycja y } if((h > 4)&&(h<10)){ Skrzynia [h,6] = ((h - 5)*32)+96//pozycja x Skrzynia [h,7] = 320//pozycja y } if((h > 9)&&(h < 15)){ Skrzynia [h,6] = ((h - 10)*32)+96//pozycja x Skrzynia [h,7] = 352//pozycja y } h += 1 } h = 0 Oto kod w obiekcie o nazwie sterownik skrzyni który rysuję nam sloty w otwartej skrzyni: GML i = 0 h = 0 if(otwarta = true){ while(h < 15){ y = view_yview div 32*32 draw_sprite(kratka_plecaka,-1,Skrzynia[h,6]+view_xview,Skrzynia[h,7]+y) draw_sprite(Skrzynia[h,1],-1,Skrzynia[h,6]+view_xview,Skrzynia[h,7]+y) if(Skrzynia[h,4] > 0){ draw_text(Skrzynia[h,6]+view_xview,Skrzynia[h,7]+y,Skrzynia[h,4]) } h += 1 } h = 0 } h = 0 To kod wywoływany po kliknięciu na skrzynię: GML if(sterownik_skrzyni.otwarta = false){ sterownik_skrzyni.otwarta = true otwarty = true Pokoj = 5 } else{ sterownik_skrzyni.otwarta = false otwarty = false Pokoj = 0 } Jeśli brakuje jakiegoś kodu napiszcie o tym to go zamieszczę.
-
Wszystko mi już działa tylko sterownik plecaka ciągle rysuje sloty wszystkich skrzynek. Może to banalne , ale nie umiem sobie z tym poradzić.
-
Co mam zrobić jeśli ze zmiennej która mówisz, że ma być lokalna korzystają u mnie 3 obiekty: -skrzynia -sterownik skrzyni - Rysuje on sloty skrzyni gdy jest otwarta ponieważ gdybym umieścił tą akcje w skrzyni znikłby mi jej obrazek. - plecak - Gdyż jest on odpowiedzialny za przenoszenie obiektów z plecaka do skrzyni. Z tego co wiem zmiennej lokalnej nie będę w stanie użyć w tych trzech obiektach.
-
Witam na forum jest wiele poradników dotyczących inwentarzy, ale nie ma nic na temat skrzyń. Różnica pomiędzy skrzyniami a inwentarzem jest taka, że inwentarz jest jeden a skrzyń wiele. Zrobiłem skrzynie i jak jakąś otwieram i coś do niej włożę a następnie pójdę do następnej to znajduję w niej to samo co w poprzedniej choć powinna być pusta. Wygląda to tak jakby wszystkie skrzynie korzystały z jednej tablicy. Czy można coś z tym zrobić?
-
Witam, czy w game markerze można zmienić rozmiar grafiki bez zmieniania jej rozdzielczości?
-
Witam, mam następujący problem. Zrobiłem sobie w mojej grze plecak. Tylko kiedy idę na przód i view się poruszy to gdy otwieram plecak nie mogę przemieszczać w nim żadnych przedmiotów. Oto kod odpowiedzialny za przestawianie przedmiotów w plecaku: GML if(otwarty = true){ e = 0 x = mouse_x div 32*32 y = mouse_y div 32*32 while(e < 50){ if(e < 10){ if(x = plecak [e,6]){ //plecak [e,6] 6 to pozycja na osi x kratki pierwsza kratka ma 0 druga 32 trzecia 64 i tak dalej //if(y = plecak[e,7]){ if(plecak[e,0] = true){ if(kursor[0] = false){ kursor[0] = plecak[e,0] kursor[1] = plecak[e,1] kursor[2] = plecak[e,2] kursor[3] = plecak[e,3] kursor[4] = plecak[e,4] kursor[5] = plecak[e,5] plecak [e,0] = false//pusty plecak [e,1] = pusty//sprite przedmiotu plecak [e,2] = false//czy stackowalny plecak [e,3] = 1//liczba stackowalnych przedmiotow plecak [e,4] = 0//liczba przedmiotow w kratce plecak [e,5] = 0//rodzaj kursor[0] = true exit } } //} } x = mouse_x div 32*32 y = mouse_y div 32*32 if(x = plecak[e,6]){ //if(y = plecak[e,7]){ if(plecak [e,0] = false){ if(kursor [0] = true){ plecak[e,0] = kursor[0] plecak[e,1] = kursor[1] plecak[e,2] = kursor[2] plecak[e,3] = kursor[3] plecak[e,4] = kursor[4] plecak[e,5] = kursor[5] kursor [0] = false//pusty kursor [1] = pusty//sprite przedmiotu kursor [2] = false//czy stackowalny kursor [3] = 1//liczba stackowalnych przedmiotow kursor [4] = 0//liczba przedmiotow w kratce kursor [5] = 0//rodzaj exit } } //} } } e += 1 } }
-
W moim folderze pod nazwą "tajemniczy labirynt" zamieściłem projekt z plecakiem który nie za bardzo działa. Problemy są między innymi podczas przechodzenia do innych pokoi. Czy ktoś mógłby przejrzeć mój projekt i naprawić błędy. Byłbym wdzięczny.tajemniczy labirynt
-
Witam, zacząłem pisać mój pierwszy plecak. Oto kod odpowiedzialny za przenoszenie obiektów w plecaku do różnych kratek przez użytkownika(ten kod nie jest skończony on jedynie ma niszczyć obiekt w danej kratce): GML d = 0 if(otwarty = true){ if mouse_check_button(mb_left){ while(d < 25){ x = mouse_x div 32*32 y = mouse_y div 32*32 if(x = view_xview+224+(d*32)){ if(y = view_yview+160+((25/5)*d)){ if(plecak[d,0] = true){ plecak[d,1] = sprite15 plecak[d,0] = false } } } d += 1 } } } d = 0 Problem w tym, że kod niszczy mi w plecaku tylko obiekt znajdujący się w pierwszej kratce a innych nie chce. Nie wiem dlaczego tak się dzieje. plecak[d,0] - dwuwymiarowa tablica plecaka. Pierwsza liczba to numer kratki a druga to : 0 - plecak pełny lub pusty true / false 1 - sprite obiektu w danej kratce sprite15 - jest to sprite stosowany gdy w kratce nie ma żadnego obiektu
-
W mojej grze do wody wykorzystuję bloczki 32x32. Czy jest jakiś sposób aby przy dużej ilości tych bloczków gra nie zwalniała? Czy mogę wykorzystać system cząstek?
-
Słyszałem, że istnieje funkcja instance_deactivate. Czy mogła by ona mi pomóc. Zmniejszyć ilości ciał kolizyjnych chyba się nie da ponieważ chciałbym zrobić ocean z rozlewającą się wodą.
-
Witam, mam następujący problem: kiedy w dużym pokoju umieszczę dużo wody gra się zacina. Najprawdopodobniej spowodowane to jest tym, że komputer sprawdza bardzo dużą liczbę kolizji. Czy da się temu zaradzić?
-
Musisz użyć warunku. GML if(celowanie = 1){ //kod odpowiadający za strzelanie }
-
Witam, ostatnio w mojej grze zrobiłem cykl dnia i nocy rysując częściowo przezroczysty czarny prostokąt. Następnie zrobiłem pochodnie i tu pojawił się problem. W jaki sposób pochodnie mają świecić? Próbowałem narysować dookoła nich częściowo przezroczysty biały prostokąt, ale za wiele z tego nie wyszło. Czy można zrobić świecenie pochodni w inny sposób niż rysowanie dookoła nich białego prostokąta?
-
Witam, mam dwa problemy. 1. Po narysowaniu czarnego prostokąta zmienna narysowana nad moim bohaterem rozmywa się. Oto kod który mam w obiekcie rysującym prostokąt. GML draw_set_alpha( 0.3) draw_rectangle_color(x,y,x+2000,y+2000,c_black,c_black,c_black,c_black,0) 2. W jaki sposób zrobić aby sprite podążał za moim bohaterem i zawsze był w lewym górnym rogu ekranu?
-
Witam mam następujący problem. Chciałbym aby gdy aktywuje dynamit to jeśli obok też jest dynamit ten też się aktywował. Oto kod: GML alarm[2] = 150 if(position_meeting(x-32, y, dynamit)){ //Co tu wpisać? }
-
Bardzo dziękuje, wszystko działa. W moim folderze zamieściłem nową wersję mojego minecrafta. Można w nim niszczyć i tworzyć bloki. Obecnie pracuję nad plecakiem. Dodam, że nie robię tej gry po to żeby ją sprzedawać. Jest to po prostu takie ćwiczenie. Gra będzie dalej rozwijana i regularnie aktualizowana.
-
Czy ten kod ma wyglądać tak? GML mouse_check_button_pressed(mb_right) x=mouse_x div 32 *32 y=mouse_y div 32 *32 instance_create(mouse_x , mouse_y, ziemia) W jakim obiekcie mam umieścić ten kod?
-
Mam do tego jeszcze takie pytanie. W zdarzeniach muszę zawsze klikać na jakiś obiekt a jak zrobić żeby ten kwadrat się stworzył gdy klikam na tło?
-
Witam, jak już może wiecie robię minecrafta 2d. Mam problem z tworzeniem kwadratów w miejscu na które gracz kliknie prawym przyciskiem myszy. Jednak te kwadraty nie mają się tworzyć dokładnie w miejscu kliknięcia, lecz na jakby takiej siatce (to po to aby tworzone kwadraty nie mogły na siebie nachodzić). Taki kwadrat ma wymiary 32 na 32, więc jego środek zawsze musi leżeć na współrzędnych które są wielokrotnością 16. Na przykład ten kwadrat może mieć współrzędne x = 16 y = 32 ,ale nie może mieć takich współrzędnych x = 17 y = 22. Chodzi mi o to aby gdy gracz kliknie na współrzędne x = 17 y = 18 kwadrat tworzył by się na pozycji x =16 y =16. To jakby takie zaokrąglanie do wielokrotności 16.
-
Witam, od roku uczęszczam na koło programowania c++. Teraz ja z panem prowadzącym to koło piszemy program "bibliotekarz". Jest coś w rodzaju bazy danych z funkcją wypożyczania i oddawania książek. Ten pan wysłał mi gotowy program bez możliwości dodawania książek , więc tą możliwość dopisałem. Teraz nowe książki po dodaniu są zapisywane do pliku txt a przy uruchomieniu programu wczytywane z tego samego pliku. Mój problem polega na tym, że nie działa teraz funkcja wypożyczania i oddawania książek. Uprzedzam, że kod może nie być zbyt łatwy do zrozumienia. Jest w nim zastosowane: programowanie obiektowe, listy, rzutowanie, iteratory i dziedziczenie. Kod można znaleźć w moim folderze.
-
A co zrobić aby postać nie wbijała się w grunt?
-
W moim folderze jest już plik zip powinien dać się otworzyć. Dodam , że używam game marker 8.1.
- Poprzednia
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- Dalej
-
Strona 6 z 7