Sutikku Opublikowano 20 Lutego 2016 Opublikowano 20 Lutego 2016 Można zostawić czas żeby cały czas go dodawało, a potem dzielić bez reszty, ale chyba zmienna w końcu straci miejsce ;d
Filar Społeczności Wojzax Opublikowano 21 Lutego 2016 Filar Społeczności Opublikowano 21 Lutego 2016 Mam problemik taki. Mam dwa obiekty, wheat i wooden_floor. Obie mają maski w kształcie kwadratów 12x12 pikseli. Oba mają w stepie GML depth=y*-1 Kiedy wheat jest rzucony na wooden_floor (oba mają taki sam x i y), wheat jest widoczny nad wooden_floor. Teraz mam podnoszenie tych obiektów. Gracz ma zmienną pick_delay, która domyślnie jest false. Kiedy któryś z obiektów jest kliknięty PPM, a pick_delay=false, wykonuje się skrypt podnoszenia (sprawdzanie czy taki obiekt jest już w ekwipunku i stackowanie go, lub szukanie dla niego wolnego miejsca). Na końcu tego skryptu pick_delay zmienia się na true na 15 stepów a po tym czasie z powrotem na false. Teraz gdy klikam na wooden_floor na którym leży wheat, powinienem podnieść obie te rzeczy. Ponieważ jednak działa pick_delay podnoszę tylko jedną. Chciałbym żeby najpierw podnoszona była rzecz która jest wyżej czyli wheat. Jakimś jednak cudem pierwsza podnoszona jest podłoga, a dopiero za drugim kliknięciem wheat. Jak myślicie od czego to zależy?
Sutikku Opublikowano 21 Lutego 2016 Opublikowano 21 Lutego 2016 Pierwsze wykonuje się kod z wooden_floor, a potem jest zarysowywany wheat. To może w wheat daj depth=y*-1-1; ? A wydaje mi sie, że podnosi ten obiekt niżej, bo właśnie w tej "kolejce wykonywania kodu" on jest wcześniej niż wheat.
Filar Społeczności Wojzax Opublikowano 21 Lutego 2016 Filar Społeczności Opublikowano 21 Lutego 2016 Zmiana depthu w niczym nie pomaga niestety. Mógłbym nawet dodać z dziesięć zmiennych żeby rozwiązać ten problem, ale nie mam pojęcia jak można by to zrobić
Sutikku Opublikowano 21 Lutego 2016 Opublikowano 21 Lutego 2016 Tak sobie teraz myślę, że zależność który jest u dołu, a u góry jest zależne od tego kolejności w której nadajesz ten sam depth. Ty chcesz podnieść pierwsze wheat, czyli depth musi być mniejszy, czyli musi sobie pierwszy nadać depth niż wooden_floor. Tak rozkminiam, ale w sumie nie wiem czy to na pewno tak działa.
Threef Opublikowano 21 Lutego 2016 Opublikowano 21 Lutego 2016 Tak. Sutikku dobrze mówi. Obiekt z większym depth rysuje się pod spodem między innymi przez to że kod (w tym kod rysowania) wykonuje się przed obiektem z niższym depth. Zrobienie czegoś takiego co chcesz zrobić wymaga trochę główkowania, a na to nie mam dziś sił. :P Być może musisz sobie stworzyć nową zmienną która będzie decydować który przedmiot leży wyżej?
Sutikku Opublikowano 21 Lutego 2016 Opublikowano 21 Lutego 2016 Wpadł mi taki pomysł. Zadziała on chyba tylko na dwa itemy w jednym miejscu chyba. Item1 przy kolizji z item2, zapisuje sobie id itemu2. Gracz mając kolizje z itemem1, sprawdza czy on nie ma przypisanego jakiegoś id innego obiektu. Jeśli tak, to zbieramy ten przypisany do zmiennej, jak nie to wiadomo, normalnie zbieramy item1.
Filar Społeczności Wojzax Opublikowano 21 Lutego 2016 Filar Społeczności Opublikowano 21 Lutego 2016 Wpadł mi taki pomysł. Zadziała on chyba tylko na dwa itemy w jednym miejscu chyba. Item1 przy kolizji z item2, zapisuje sobie id itemu2. Gracz mając kolizje z itemem1, sprawdza czy on nie ma przypisanego jakiegoś id innego obiektu. Jeśli tak, to zbieramy ten przypisany do zmiennej, jak nie to wiadomo, normalnie zbieramy item1. Brzmi sensownie, jutro pokombinuję w ten sposób.
I am Lord Opublikowano 22 Lutego 2016 Opublikowano 22 Lutego 2016 Hmm a może coś takiego, zrób ds listę piorytetową, ustawisz podłodze mniejszy priorytet. Gdy zaczniesz podnosić lista się posegreguje a ty podniesiesz ten z większym priorytetem.
Sutikku Opublikowano 23 Lutego 2016 Opublikowano 23 Lutego 2016 Mam surface o wielkości view_wview i view_hview i u mnie na pccie wszystko dobrze działa (rysuje na nim fejkowe światło, w sensie, że zapełniam na czarno i na bm_subtract rysuje koła o różnym alpha) Ale jak testowałem na laptopie z zintegrowaną kartą Intel HD 4000, to była tak przy lewej części surface (nie na samym początku, a tak paredziesiąt pixeli od krawędzi), taka linia jakby w tym miejscu nie było surface. Takie samo coś, miał też kolega jak testował.
Threef Opublikowano 23 Lutego 2016 Opublikowano 23 Lutego 2016 Surface powinny mieć za wymiary potęgę 2. Na przykład 1024x512. Niektóre karty graficzne, ale telefony mają problemy gdy wymiary są złe. It is highly recommended that all surfaces be created with a size that is a power of 2, ie: 16, 128, 512 or 1024 pixels in size, for example. This is not exactly necessary on certain platforms (like Windows and MacOS) but it will certainly increase compatibility on those targets, while for HTML5 and devices it is essential and very it's important that you remember this or you may run into problems later.
Gibki Kaktus Opublikowano 25 Lutego 2016 Opublikowano 25 Lutego 2016 W GMie jest gdzieś wbudowana tabelka wszystkich kątów trygonometrycznych? Chodzi mi o komplet tego np: tg 34o ≈ 0,67 tg 39o ≈ 0,8
Gibki Kaktus Opublikowano 25 Lutego 2016 Opublikowano 25 Lutego 2016 Do wyznaczania stopnia pomiędzy dwoma punktami :D
I am Lord Opublikowano 25 Lutego 2016 Opublikowano 25 Lutego 2016 To czemu nie użyjesz tan(stopien*pi/180)
Sutikku Opublikowano 25 Lutego 2016 Opublikowano 25 Lutego 2016 Masz w tym roku maturę? ;d Ewentualnie licz deltę, ba dum tss.
I am Lord Opublikowano 25 Lutego 2016 Opublikowano 25 Lutego 2016 O funkcjach trygonometrycznych? Jak to GML kat_w_stopniach = 34; kat_w_radianach = kat_w_stopniach*pi/180; tangens_kata = tan(kat_w_radianach); Tylko wiesz nie można użyć niedozwolonych kątów dla tangensa jak np 90 stopni bo tangens z 0 stp nie istnieje. Tzn dąży do nieskończoności
Gibki Kaktus Opublikowano 25 Lutego 2016 Opublikowano 25 Lutego 2016 Nie miałem radianów. Maturę za rok mam.
I am Lord Opublikowano 25 Lutego 2016 Opublikowano 25 Lutego 2016 No ale GM używa radianów akurat do tych funkcji to trzeba przekształcić. Ja zapisuję sobie konwersję do stałych GML d2r = pi/180; r2d = 180/pi; i wtedy mnożę przez tą stałą.
Amaterasu Opublikowano 26 Lutego 2016 Opublikowano 26 Lutego 2016 Lepiej korzystać z dsin(x), dcos(x), dtan(x), jako x podajesz kąt w stopniach.
I am Lord Opublikowano 27 Lutego 2016 Opublikowano 27 Lutego 2016 O ciekawostka jaką teraz odkryłem. draw_point() nie skaluje się wraz ze skalowaniem viewa. Myślałem że jak przybliżę view tam gdzie postawiłem tą funkcją pixel to ujrzę wielki kwadrat ale nie, nadal jest pixelkiem na ekranie. Musiałem użyć draw_rectangle(X,Y,X,Y) z taką samą 2 parą argumentów jak pierwszą. Żeby po przybliżeniu ujrzeć wielki pixel.
Sutikku Opublikowano 27 Lutego 2016 Opublikowano 27 Lutego 2016 Skoro w skali np. 2x, 1 pixel to 2x2, to ten jeden pixel rysowany przez draw_pixel, na jakiej jest pozycji? 1x1?
Amaterasu Opublikowano 27 Lutego 2016 Opublikowano 27 Lutego 2016 Lewy górny róg I działają współrzędne wymierne, jeśli się nie mylę
Ignatus Opublikowano 28 Lutego 2016 Opublikowano 28 Lutego 2016 Pytanie debilne ale chce mieć pewność.W dokumentacjii na temat Inn-App Purchases jest: "GameMaker: Studio currently permits up to 128 purchases per title" Rozumiem że chodzi o to że 1 osoba może w danej grze wykonać 128 zakupów, a nie o to że jeden tytuł umożliwia 128 zakupów w ogóle wszystkim (co byłoby paranoją)?
Gibki Kaktus Opublikowano 4 Marca 2016 Opublikowano 4 Marca 2016 Do czego konkretnie służą time lines i jak je wykorzystywać? Ktoś z tego wgl korzysta? :D
Sutikku Opublikowano 4 Marca 2016 Opublikowano 4 Marca 2016 Hmmm. To CHYBA można wykorzystać tak, że np. masz wybuch. I dajesz na nim timeline. I ten timeline ma, że po stepie 0 ustawia colid=1, w stepie 22 colid=2. A Ty przez colid, sprawdzasz jaką wybuch ma wielką kolizję ataku.
Gibki Kaktus Opublikowano 4 Marca 2016 Opublikowano 4 Marca 2016 Też mi się wydaje, że to coś takiego, jednakże wolę się spytać :D
I am Lord Opublikowano 4 Marca 2016 Opublikowano 4 Marca 2016 W Maze Strategy (link w sygnie) używam do animacji eksplozji.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się