Skocz do zawartości

candy

Użytkownicy
  • Postów

    491
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez candy

  1. Poszukaj trochę w pomocy następnym razem. screen_save_part(fname,x,y,w,h) Saves part of the screen in the given filename.
  2. 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;
  3. 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.
  4. To raczej nie zadziała, ponieważ argumentem w instance_exist() id objektu, a nie string. Jakby co, to mnie poprawcie.
  5. Jeżeli na mapie może być tylko jeden object explode, to można pokombinować z asb(gracz.x-explode.x)<jakaś wartość.
  6. W STEPIE GML if(mouse_x<x) image_index=1;//albo sprite_index=lewo else image_index=2;//albo sprite_index=prawo</span>
  7. sprite_index za obrazek, image_index za klatke
  8. Czy nie chodzi przypadkiem o image_index?
  9. 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.
  10. 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>
  11. Może, danie maski do obj_ludzik pomoże.
  12. A możesz napisać dokładnie co chcesz zrobić, będzie łatwiej Ci potem pomóc.
  13. 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.
  14. 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.
  15. 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.
  16. 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;
  17. Może źle się wyraziłem. Chodziło mi co to instance_destroy() robi w Twoim kodzie, jeżeli nie chcesz nic usuwać?
  18. Teraz to już nie czaje. Więc co robi to instance_destroy()?
  19. 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.
  20. Dobra, wrzuciłem już ostatnią wersję gry. Teraz to już nie powinno być żadnych błędów.
  21. A zmniejszałeś image_speed później?
  22. 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?
  23. 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.
  24. Wrzucam poprawioną wersję. Teraz też liczę na opinie oraz info o znalezionych błędach.
×
×
  • Dodaj nową pozycję...