SKiD Opublikowano 29 Września 2011 Udostępnij Opublikowano 29 Września 2011 Siemka, mam problem z laserem zamontowanym na pistolecie a dokładniej laser wychodzi z gracza (ze środka) ale powinien wychodzić z pistoletu. Próbowałem bawić się kodem i x/y ale to tylko spowodowało że laser był rysowany np. obok gracza i tylko pod jakimś szczególnym kątem wychodził z pistoletu normalnie. Tutaj jest kod do obj_laser_beam: Draw GML if mouse_check_button(mb_right) { draw_laser(obj_player_parent.x+69,obj_player_parent.y,point_direction(obj_player_parent.x,obj_player_parent.y,mouse_x,mouse_y),1000,obj_wall_black,1,c_red,4) } script_laser GML /* draw_laser(x,y,direction,maxdist,obj,precision,event, color) argument0 - start x argument1 - start y argument2 - direction argument3 - maximum distance argument4 - object checking argument5 - precision (in pixels) argument6 - color argument7 - width */ var dir,dis,obj,prec,str,ok,len,loc,wid; xx=argument0 yy=argument1 dir=argument2 dis=argument3 obj=argument4 prec=argument5 str=argument6 wid=argument7 len=0 ok=0 do { xx+=lengthdir_x(prec,dir) yy+=lengthdir_y(prec,dir) len+=prec if position_meeting(xx,yy,obj) {loc=instance_position(xx,yy,obj) ok=1 } } until len>dis or ok=1 //draw_set_color(argument6) //draw_line(x,y,xx,yy) draw_sprite_ext(spr_laser,0,obj_player_parent.x,obj_player_parent.y,point_distance(x,y,xx,yy)/4,argument7/6,dir,argument6,.9) effect_create_above(ef_spark,xx,yy,0,argument6) Potrzebuje aby ktoś powiedział jak albo poprawił kod aby laser wychodził z pistoletu. Dzięki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shockah Opublikowano 29 Września 2011 Udostępnij Opublikowano 29 Września 2011 Zobacz sobie funkcje lengthdir_x i lengthdir_y, przydadzą ci się. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SKiD Opublikowano 29 Września 2011 Autor Udostępnij Opublikowano 29 Września 2011 Znalazłem w dokumentacji ale i tak nie jestem w stanie nic zmienić... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Września 2011 Udostępnij Opublikowano 29 Września 2011 mistrzem w lengtdirach nie jestem, ale: draw_line(x+lengthdir_x(odleglosc_do_lufy,direction_do lufy :D),y+lengthdir_y(to samo),xx,yy) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SKiD Opublikowano 29 Września 2011 Autor Udostępnij Opublikowano 29 Września 2011 dzięki karolo320 MISSION COMPLETE zmodyfikowałem twój kod i złączyłem go z moim w ten sposób: GML draw_sprite_ext(spr_laser,0,obj_player_parent.x+lengthdir_x(40,dir),obj_player_parent.y+lengthdir_y(40,dir),point_distance(x,y,xx,yy)/4,argument7/6,dir,argument6,.9) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
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ę