-
Postów
491 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez candy
-
Poszukaj trochę w pomocy następnym razem. screen_save_part(fname,x,y,w,h) Saves part of the screen in the given filename.
-
Ja bym to zrobił tak: Create: GML a=false; b=false;//jednostka czasu</span> Step GML if(a==room_speed)//albo inny warunek (taki jaki Ci jest potrzebny) { a=false; b+=1; if(b==120) { //akcja } } a+=1;
-
Poprawiłem, to trochę, powinno działać. Na przyszłość używaj masek, są bardzo przydatne. A tu masz link: tutaj E: Zmniejsz ilość klatek animacji. Myślę, że jeżeli nawet usuniesz ponad połowę, to i tak będzie dobrze wyglądało.
-
To raczej nie zadziała, ponieważ argumentem w instance_exist() id objektu, a nie string. Jakby co, to mnie poprawcie.
-
Jeżeli na mapie może być tylko jeden object explode, to można pokombinować z asb(gracz.x-explode.x)<jakaś wartość.
-
W STEPIE GML if(mouse_x<x) image_index=1;//albo sprite_index=lewo else image_index=2;//albo sprite_index=prawo</span>
-
sprite_index za obrazek, image_index za klatke
-
Czy nie chodzi przypadkiem o image_index?
-
Poruszanie- 4 kierunki CREATE: GML ruch=20; h=false;//lewo albo prawo v=false;//dol albo gora</span> STEP GML if(ruch==20) { v=false; h=false; kierunek=choose(1,2,3,4); if(kierunek==1)//prawo h=1; if(kierunek==2)//dol v=1; if(kierunek==3)//lewo h=-1; if(kierunek==4)//prawo v=-1; x+=h; y+=v; } ruch-=1; if(!ruch)//jeżeli ruch==0, to zmień wartość ruch na 20 ruch=20; Musisz tylko to dopasować do swoich potrzeb.
-
1. Create: dajesz np zmienna GML a=30; Step: GML a-=1; if(a==0) instance_destroy() Draw: GML draw_sprite_ext(nazwa,image_index,x,y,image_xscale,image_yscale,0,c_white,a/30) 2. STEP np GML image_xscale+=0.2; image_yscale+=0.2; if(image_xscale==[maksymalna wartosc]) { image_xscale=[maksymalna wartosc]; image_yscale=[maksymalna wartosc]; } E. A co do 3. Create: GML obrot=false; To wklej tam gdzie ma być dokonany obrót: GML obrot=random(30);// wybiera liczbę z przedziału (0;30) obrot*=choose(1,-1);// mnoży obrót przez 1 albo -1 (żeby obrót był z przedziału (-30,30) image_angle=obrot;// dokonanie obrotu</span></span>
-
Może, danie maski do obj_ludzik pomoże.
-
A możesz napisać dokładnie co chcesz zrobić, będzie łatwiej Ci potem pomóc.
-
Przypisujesz wartość do zmiennej kasa w obj_kup_s1. Spróbuj kasa=obj_kup_s1.kasa Wydaję mi się jednak, że lepiej byłoby tutaj użyć zmiennych globalnych, tak jak proponował Ingen.
-
GML if(place_free(x+[jakaś wartość],y)) //sprawdza czy w odległości [jakaś wartość] w prawo od X_Origin objectu pole jest wolne { //akcja np x+=[jakaś wartość]; } Analogicznie robi się lewo, dół i góre.
-
Chodzi o to, że nie zmienna kasa jest zdefiniowana tylko w Obj_kasa. Klikając Obj_kup chcesz pewnie się odwołać do zmiennej kasa w obj_kasa. W takim razie musisz w obj_kup wszędzie zamienić "kasa" na "Obj_kup.kasa". Zamieniłbym jeszcze warunek: zamiast "==" dałbym ">=". Dzięki temu będziesz mógł kupować nawet gdy masz więcej kasy niż jest to wymagane.
-
Co do pierwszego... Zamiast tego napisz to: GML if(air==0) { if keyboard_check(vk_right) { if place_free(x+hero_speed,y) { x+=hero_speed; } } } else { if keyboard_check(vk_right) { if place_free(x+5,y) { x+=5; } } } Wydaje mi się, że chodzi o te klamry. E. To samo zrób jeżeli chodzi o lewą stronę. E2. Co do drugiego spróbuj tego: if(!keybord_check(vk_left)&&!keybord_check(vk_right)&&hero_speed) hero_speed-=0.1;
-
Może źle się wyraziłem. Chodziło mi co to instance_destroy() robi w Twoim kodzie, jeżeli nie chcesz nic usuwać?
-
Teraz to już nie czaje. Więc co robi to instance_destroy()?
-
Ja bym to zrobił tak: 1. Ustawiłbym origin spritów na center. 2. W roomie dał tylko jeden murek i postać tak ustawioną nad nim, aby sprity obiektów się ze sobą stykały. 3. Odpalił debug, add expression to... i wpisał murek.y-player.y (zapamętaj wartość) 4. Potem dal w stepie murku: if(y-postac.y==(wartość, którą odczytałeś z debuga)&&abs(x-postac.x)<=(połowa szerokości sprite murka)) instance_destroy() Wtedy murek zniknie, gdy postac będzie na nim stała. Powinno działać, jeżeli Twój murek ma ciągle te same wymiary.
-
Dobra, wrzuciłem już ostatnią wersję gry. Teraz to już nie powinno być żadnych błędów.
-
A zmniejszałeś image_speed później?
-
Wielkie dzięki :)
-
Może to noobowe pytanie, ale czy mogę ten temat przenieść jakoś do gotowych gier? Czy muszę założyć nowy temat, ewentualnie poprosić z któregoś moderatorów o to?
-
To samo co wyżej. Dodam jeszcze, że trzeba ten nieszczęsny enter zamienić na co innego oraz zrobić coś z tym blokowaniem Enia na ścianach. Niestety 2/5 - za dużo do poprawki.
-
Wrzucam poprawioną wersję. Teraz też liczę na opinie oraz info o znalezionych błędach.