-
Postów
491 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez candy
-
Słuchaj, wiem że są wakacje. Ale nie usprawiedliwia Cię to, żeby nie korzystać z mózgu. Włącz helpa i poczytaj coś o alarmach.
-
Zapętlasz alarm. Pomyśl trochę. Zamień to na speed=0;
-
A co masz w alarm[0]? Może coś tutaj jest nie tak.
-
Skoro object3 to power up, to dlaczego w ifie jest object1?
-
Jak napisał Assassin, skorzystaj z funkcji place_meeting(). Kod na aktywacje power up'a wklepujesz do object_power_up. Odwołujszsz się w nim do obj_hero. GML (przyklad) obj_hero.speed=9; Ustawiasz alarm w obj_hero na ileś tam i zerujesz speed.
-
Czekaj, pomału. Gdzie jest ten if: GML if distance_to_object(hero)<100 and alarm[0] = -1 W hero czy power up?
-
Wstaw game_end w ten if.
-
W ten if wstawiłeś, czy gdzie popadnie?
-
Do mojego: Zdefiniowałeś zmienną popycha? Do kodu mipo57: Najwidoczniej w GML nie działa zapis x++, zamień na x+=1; a x-- na x-=1; Na przyszłość: Nie kopiuj bezmyślnie kodu, tylko trochę nad nim pomyśl.
-
GML (step blok) if(place_meeting(x,y,o_hero)&&popycha==0) { popycha=xxx*o_hero.image_xscale; } if(popycha!=0) { x+=popycha; popycha-=sign(popycha); } Jeżeli hero ma oddzielne sprity na lewo i prawo, to tworzysz nową zmienną (np strona), w której trzymasz info jak obrócony jest hero.
-
Jak wywali Ci Error, to znaczy, że zmiennej nie ma. Skorzystaj z funkcji variable_local_exists(name) albo variable_global_exists(name).
-
Zanim zmienisz położenie gracza, sprawdź czy pole na które chcesz go ruszyć jest wolne. Skorzystaj z funkcji place_free(), np: GML if(keyboard_check(vk_left)) { if(place_free(x-przesunięcie,y)) x-=przesunięcie; } Jak dorobisz maskę do obiektu otrzymasz lepsze efekty.
-
Bo myślałem, że choose() odnosi się tylko do liczb :D
-
Daj zmienną pomocniczą np,var b. Losujesz liczbę jedną z dwóch za pomocą choose() i wpisujesz wynik do b. Potem sprawdzasz jaką liczbą jest b: GML if(b==1) color=c_red; else color=c_yellow;
-
O to Ci chodziło? Link.
-
Pasek doświadczenia i kilka pasków
candy odpowiedział(a) na Marcin T. temat w Pytania początkujących
Do obiektu, który dodaje doświadczenie dopisz: GML if(health==100) { health=false; lives+=1; } Mała rada. Pisz w kodzie, bo na klockach można zwariować jak masz ich mnóstwo. -
Object following ustaw na obj_kursor. Daj mu w stepie: x=mouse_x; y=mouse_y; Hbor to grubość krawędzi lewej i prawej, a Vbor dolnej i górnej. Jak obj_kursor wjedzie na nie, view zacznie się przesuwać z prędkością Hsp albo Vsp, zależnie na której krawędzi jest kursor. Wszystkie wartości dopasuj do Swoich potrzeb. Jakaś tam akcja, to akcja w której odejmuje się jeden pot. To może być wszystko: wciśnięcie strzałki, ruch myszki, alarm itp. Naucz się tablic, ułatwiają później robotę. Może tak: GML (stepzamek) if(!position_meeting(mouse_x,mouse_y,self)&&mouse_check_button_pressed(mb_left)) with o interfejs instance_destroy() E, tam. Nie przejmuj się. Kto pyta, nie błądzi.
-
Object krążący wokół drugiego objectu
candy odpowiedział(a) na ZyperPL temat w Pytania początkujących
Jak tak to wybierz drugą opcję. Nie wiedziałem co się miało z tym dziać, więc zrobiłem to w dwóch wariantach. -
Object krążący wokół drugiego objectu
candy odpowiedział(a) na ZyperPL temat w Pytania początkujących
Tworzysz nowy obiekt, np o_czar. GML (create) a=false; r=10;//promień okręgu</span> GML (draw) draw_circle(o_hero.x+r*sin(0.1*a*pi),o_hero.y+r*cos(0.1*a*pi),5,0)//czar ma wyglądać jako wirująca wokół postaci kulka draw_sprite(s_czar,image_index,o_hero.x+r*sin(0.1*a*pi),o_hero.y+r*cos(0.1*a*pi))//czar ma sprite'a i wiruje wokół gracza a+=1; if(a==21) a=false; Załóżmy, że aby dokonał się pełny obrót po okręgu dokonujemy 20 "przesunięć" elementu. Wtedy kąt obrotu w czasie jednego przesunięcia wyniesie: 360/20=18 stopni. 18 stopni to (18/180)*pi radiana, czyli 0,1*pi. Mnożąc to przez 'a' powodujemy kolejne przesunięcia elementu po okręgu. Warunek if nie jest konieczny, ponieważ funkcje sin i cos są okresowe (sin(2pi+alfa)=sin(alfa)). Jest tylko po to aby a nie przyjmowało jakiś dużych wartości. -
AD 1: Link z przykładów (drugi od góry). W Twoim przypadku stwórz obiekt, który śledzi myszkę. Wejdź także w zakładkę view w roomie, zobaczysz co i jak. AD 2: Jak chcesz coś takiego zrobić, musisz stworzyć bazę danych. Na przykład za pomocą tablic albo list. Dodajesz kod na odczytanie danych, a nasepnie wyświetlasz co Ci jest potrzebne, dla przykładu: GML (create) pot[0]=1;//tablica przechowująca ilość danych potów pot[1]=1; pot[2]=1; GML (jakas tam akcja) pot[1]-=1; GML (draw interfejsu) for(i=0;i<3;i+=1)//lecimy po całej tablicy za pomocą pętli if(pot)//jeżeli w danym indeksie tablicy jest liczba większa od 0 draw_sprite(s_pot,i,xx,yy+i*20)//wyświetl sprite pota</span> s_pot to sprite, w którym są umieszczone wszystkie rysunki potów. W drugim argumencie (image_index) masz 'i'. Dzięki temu wyświetla się odpowiedni rysunek. Pot 1 ma index 0, pot 2 ma index 1 itd. i*20, powoduje że kolejne rysunki są wyświetlane o 20 px niżej.
-
Wrzucasz to do draw: GML draw_sprite(sprite_ikonki,index_ikonki,x,y) draw_text(zamek_zolnierz_budowanie.x+15,zamek_zolnierz_budowanie.y+15,czas_teraz) E: UP string(czas_teraz) jest zbędne, wystarczy samo czas_teraz. Gdybyś chciał łączyć ze sobą liczby i napisy, to dopiero wtedy.
-
Korzystałeś z tego? GML draw_healthbar(x-12,y-70,x+50,y-72,hp/hp_max*100, c_black,c_red,c_lime,0,1,0); Jak tak to zamień na: GML draw_healthbar(x-12,y-70,x+50,y-72,(hp/hp_max)*100, c_black,c_red,c_lime,0,1,0);
-
To się naucz. Przeczytaj helpa, dokumentację, przejrzyj przykłady. Czegoś się nauczysz. Btw, jak leader zespołu może nie znać się na programowaniu? Plus dla Ciebie, że się nie poddajesz. Tylko jedno zastrzeżenie. My nie wyśmiewamy się z Ciebie, dlatego że nic nie umiesz, tylko z Twojego podejścia. A to jest spora różnica. Bez obrazy, ale wydaje mi się że nic odkrywczego nie wymyślisz. Po za tym, w branży gier pomysły są powielane i jakoś się tym nikt za bardzo nie przejmuje.
-
Link. Zrób analogicznie do tego.