Skocz do zawartości

RaistlinBlackRobe

Użytkownicy
  • Postów

    579
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez RaistlinBlackRobe

  1. AKCJA: sprite_index=spr_atak; image_speed=<szybkośćanimacji>; ANIMATION END: sprite_index=spr_hero; image_speed=<poprzedniaszybkość>; EDIT: @up: To się nazywa szybko klepać w klawiaturę. ;(
  2. Zacinanie się na krawężnikach i znikanie znaków zakaz skrętu po przejechaniu obok nich nie są zapewne plusem. Grafika jest znośna chociaż zbyt kontrastuje ze sobą nawzajem. Przydałby się jakiś podkład muzyczny i przeciwnicy oraz jakieś urozmaicenia(np. farbowanie autka za kasę z wyścigów). Skręt jest nieco za mało czuły. Za to spodobał mi się ładnie zrobiony dym w particles. 2/5 na zachęte zrobienia up'a.
  3. Ja jeszce troche ulepszyłem przykład. Link. Nie licząc tego image_angle to wszystko pod niezarejestrowaną.
  4. RaistlinBlackRobe

    Grafika Wilka

    Robal Wężopodobny Pszczoła/Osa(jeden kit) Dusza osy(do nieba będę szła) Jak będziesz czegoś potrzebować to poszukaj tu, bo grafiki są zaczepiste i darmowe.
  5. Template i tutek na dodatek: link Niestety 4 kierunki tylko są.
  6. No też coś zrobiłem. Zarazem to coś co się kręci wokół wroga jak i strzał. Niestety image_angle jest na pro, ale możesz wykombinować coś bez pro(np kolisty pocisk i nieobracające się dusze). A oto link.
  7. Im niższy depth tym na wyższej warstwie jesteś.
  8. Więc tak: Mam poruszanie się za pomocą zmieniania x i y. Napisałem coś co powinno podczas poruszania się zacząć lot. Wygląda to tak: STEP: if keyboard_check(ord('z')) {if (skos=0 && skok=0) then switch(keyboard_key) {case vk_left: skok=1; depth=-1000; sprite_index=spr_dragon_fly_l; repeat(20){x-=16}; alarm[0]=20; break; case vk_up: skok=1; depth=-1000; sprite_index=spr_dragon_fly_u; repeat(20){y-=16}; alarm[0]=20; break; case vk_right: skok=1; depth=-1000; sprite_index=spr_dragon_fly_r; repeat(20){x+=16}; alarm[0]=20; break; case vk_left: skok=1; depth=-1000; sprite_index=spr_dragon_fly_d; repeat(20){y+=16}; alarm[0]=20; break;};}; ALARM[0]: skok=0; depth=0; switch(sprite_index) {case spr_dragon_fly_l: sprite_index=spr_dragon_walk_l; break; case spr_dragon_fly_u: sprite_index=spr_dragon_walk_u; break; case spr_dragon_fly_r: sprite_index=spr_dragon_walk_r; break; case spr_dragon_fly_d: sprite_index=spr_dragon_walk_d; break;}; Poruszanie się jest na eventach left right up i down. Problem: nic się nie dzieje, a wcześniej gdy lot był w evencie "z" to trzeba było trzymać z i nacisnąć sztrzałkę, a wtedy dragon pokonywał drogę za całą pętlę repeat(w jednym momencie za wszytskie stepy), zamachał skrzydłami i siadł dziad jeden. Help. EDIT: Uff, udało mi się samemu poradzić. Może kiedyś zrobię z tego przykład(po części by to rozwiązywało problemy z klonami pierwszych części gta). Zamykam.
  9. RaistlinBlackRobe

    Grafika Wilka

    brązowy srebrny Możnaby jeszcze coś zripować :D , ale może lepiej nie(zresztą ponoć brzydzisz się wymówić nazwy tej gry, a konflikt z prawem nie owocuje niczym dobrym)
  10. A nie łatwiej wszystkie zbroje do jednego sprita(index zerowy ustaw jako ciało bez zbroi). Robisz zmienną eqarmor, która mówi jaka zbroja jest ubrana. I zmieniasz w draw_sprite_ext drugi argument(czyli subimage) z 0 na eqarmor czyli: draw_sprite_ext(spr_armor, eqarmor, x, y, itd.) Nie muszę chyba mówić, że przy zakładaniu zbroi zmieniasz tą zmienną.
  11. Ponieważ Konrad nie jest teraz online to dam link do projektu. Nie zrażajcie się grafiką, ani tym, że bazuję się na przykładzie(będę usamodzielniał silnik).
  12. Akcja ustalania pozycji tego w co to masz kliknąć powinna byc w tym samym evencie co rysowanie i musi być przed rysowaniem. Też tak miałem.
  13. Kod kamery w drawie(ustawienie widoku): d3d_set_projection(x,y,z,x+cos(degtorad(direction-90)),y+sin(degtorad(direction-90)),z-zdir,0,0,1) Rysowanie postaci(po którym rozpoczęły się problemy): d3d_transform_set_translation(-x,-y,-z); d3d_transform_set_rotation_z(dir); d3d_draw_ellipsoid(-4,-4,30,4,4,height,htex,1,1,24); d3d_draw_ellipsoid(-4,-8,16,4,8,32,ctex,1,1,6); d3d_draw_cylinder(-4,-10,0,4,-2,16,ltex,1,1,1,12); d3d_draw_cylinder(-4,10,0,4,2,16,ltex,1,1,1,12); d3d_draw_cylinder(-2,-12,16,2,-8,32,atex,1,1,1,12); d3d_draw_cylinder(-2,12,16,2,8,32,atex,1,1,1,12); d3d_transform_set_translation(-x,-y,-z); Niestety sam kodu widoku nie mogę sklecić, a inne rysowanie nie działa. :( Problem jest następujący: podczas ruchu widok przeduwa się intensywniej, niż objekt i to cos narysowane jako jego grafika. Tzn. kiedy idę, w górę to po kilku sekundach postać jest daleko poniżej widoku, a gdy w dół to jest o wiele za wysoko(nie postać jest źle tylko widok, jakby co). Pomocy. Z góry dzięki. EDIT: Jeszcze to w stepie kamery może być istotne: x=obj_team.x y=obj_team.y+dist
  14. Niestety. W takim wypadku obraca mi się nie wiadomo gdzie. Tzn. znika. Raz udało mi się go zauważyć gdzieś zupełnie poza swoim x i y obróconego, z tymże czy da się obracać tak normalnie(w miejscu)? DRAW: d3d_transform_set_identity(); d3d_transform_set_rotation_z(dir); d3d_draw_ellipsoid(x-4,y-4,z+30,x+4,y+4,z+height,htex,1,1,24); d3d_draw_ellipsoid(x-4,y-8,z+16,x+4,y+8,z+32,ctex,1,1,6); d3d_draw_cylinder(x-4,y-10,z,x+4,y-2,z+16,ltex,1,1,1,12); d3d_draw_cylinder(x-4,y+10,z,x+4,y+2,z+16,ltex,1,1,1,12); d3d_draw_cylinder(x-2,y-12,z+16,x+2,y-8,z+32,atex,1,1,1,12); d3d_draw_cylinder(x-2,y+12,z+16,x+2,y+8,z+32,atex,1,1,1,12); d3d_transform_set_identity(); Po nacisnięciu strzałek mam zmianę zmiennej dir na: left(tak wychodzi chłopek) 0 down 90 right 180 up 270 EDIT: Próbowałem też z d3d_transform_set_translation(), ale też kicha, bo bryły nadal pojawiają się w złym miejscu(zazwyczaj poza widokiem, oczywiście oprócz kątu 0). Wklepując komendę dir+=1 w drawie zauważyłem, że objekt porusza się względem jakiegoś innego punktu(sądze, że względem: x=0,y=0,z=0). Plx help. EDIT2: Z d3d_trasform_set_translation to widok mam na punkt 0,0,0, a ziom się obraca jak wczesniej. EDIT3: A jednak sobie poradziłem, tylko, że pojawiły sie nowe problemy. Dzieki Tymon za naprowadzenie na odpowiednią część helpa.
  15. No mam takie pytanko: Czy można zrobić tak, aby bryły 3d(w większości ellipsoidy) obracały się wokół osi(z) jednej głównej bryły. Chodzi tu o tylko 4 kierunki(0, 90, 180, 270). Niestety funkcje d3d_transform_add_rotation_z() i d3d_transform_set_rotation_z() nie zdają egzaminu bo obracają widokiem(zresztą wtedy to cały ekran mi miga).
  16. Szcególnie kiedy taka funkcja nie istnieje. Jest tylko draw_rectangle i draw_rectangle_color.
  17. Mam problem z tablicą view_angle. Po dodaniu kodu do drawu bohatera: view_angle[0]=-image_angle+90; //ten kod jest prawidłowy występuje następujacy problem: Rysuję sobie taki prostokącik: draw_rectangle_color(view_xview[0], view_yview[0], view_xview[0]+800, view_yview[0]+64, make_color_rgb(79,16,0), make_color_rgb(79,16,0), make_color_rgb(79,16,0), make_color_rgb(79,16,0), 0); noi jak teraz spowodować, że kiedy image_angle bohatera się zmienia, to prostokącik pozostaje wciąż na górze ekranu(obraca się względem bohatera)? Widok top down, poruszanie dir/speed. Pomocy, plx.
  18. po pierwsze po drugie po wielo, wielo, wielo, wielo, wielo(...) krotnie Jakbym szukał więcej niż 5-10 minut byłoby wiele więcej. EDIT: Myślałem, że nie wolno obrażać innych userów.(no, tak się "robi" sarkazm ;))
  19. ERROR in action number 1 of Draw Event for object obj_ceweapon: Error in code at line 1: x=owner.x + lengthdir_x(4,owner.image_angle); at position 9: Unknown variable x Jak to zobaczyłem to myślałem, że padnę. Błąd pokazuje się jak zmienna hp, na którą objekt obj_ceweapon poprzez kolizję wpływa, zejdzie poniżej 1/3. Problem zaczął występować, kiedy owner objektu obj_ceweapon otrzymał nastepujący kod: Collision with obj_weapon(nie mylić z ceweapon): if alarm1=0 {alarm[1]=3;alarm1=1;}; Alarm 1: effect_create_below(ef_cloud, x, y, 0, c_red); hp-=6; //jest to zmienna hp ownera alarm1=0; Wie ktoś może dlaczego tak się dzieje? EDIT: ;-D Ale ze mnie n00b. Dałem if hp <= o then instance_destroy(); i trudno o x nieistniejącego objektu.
  20. Ładny silniczek. Przypomniał mi o FF'ach. 4/5(tylko powiedzcie mi może gdzie ja to mam ocenić :D) Postacie atakujące pozostają w tej samej pozycji. Mało urozmaicone.
  21. Przestań narzekać tylko spróbuj pomyśleć. Wszyscy dobrze ci podpowiadają. Wiesz przecież, że musisz zapytać się o funcję place_free. To przecież masz wiele możliwości. Rusz głową i próbuj. Przy każdym case zmień if entered na: [/code]if (entered && place_free(x, y) Przy każdym naciśniętym klawiszu argumenty będą inne tzn.: vk_left będzie (x-1,y) vk_down będzie (x,y+1) Co do Yody, to on wcale nie jedzie po Newbach jak taczka, tylko stara się ciebie nauczyć samodzielnego, logicznego myślenia, umiejętnego wykorzystywania porad innych userów.
  22. W funcji draw_text zmieniasz x i y na view_xview i view_yview.
  23. Objekt kontrolujący: Do CREATE dopisz: czas=0; STEP: czas+=1; DRAW: draw_text(x,y,string(30-czas/room_speed)); Powinno działać.
  24. Jak masz objekt kontroler(jak nie masz to se zróB) to daj mu w CREATE: alarm[0]=room_speed*30; A potem w ALARM 0: lives-=1; room_restart() //lub game_restart() EDIT: Szybszy ;( Brat mnie zawołał i musiałem przerwać w połowie posta.
×
×
  • Dodaj nową pozycję...