Skocz do zawartości

Strzelanie do myszki w 3d


Rekomendowane odpowiedzi

  • Administratorzy

skoro masz projekcię kamery, z jakiegoś punktu Z, do jakiegoś punktu Z (a taką musisz mieć), to masz wszystkie potrzebne wartości. pocisk tworzysz na pozycji Z z której patrzysz, jego kierunek na osi Z dostaniesz z kierunku Z w który patrzysz. (podziel różnicę wysokości Z_TO i Z_FROM przez różnicę odległości Z_TO i Z_FROM, a otrzymasz prędkość zspeed).

 

Podstawy matematyki, współrzędnie na osiach to chyba czwarta klasa podstawówki.

Odnośnik do komentarza
Udostępnij na innych stronach

ustawienia pocisku:

w create:

z=obj_player.z+13;

ztt=obj_player.zdirection;

direction=obj_player.direction;

speed=12;

 

w step:

{

z+=tan(degtorad(-ztt))*speed

}

 

ustawienia kamery:

 

w draw:

 

d3d_set_projection(x,y,z+13,x+cos(direction*pi/180),y-sin(direction*pi/180),z+13+tan(degtorad(zdirection)),0,0,1);

w step:

direction-=(display_mouse_get_x()-display_get_width()/2)/8;

zdirection-=(display_mouse_get_y()-display_get_height()/2)/8;

if display_mouse_set(display_get_width()/2,display_get_height()/2);

 

{if zdirection > 89 then zdirection=89;}

{if zdirection < -89 then zdirection=-89;}

 

w create:

 

friction=1;

d3d_start();

d3d_set_perspective(true);

d3d_set_hidden(1);

d3d_set_lighting(0);

draw_set_color(c_white);

draw_set_alpha(1);

d3d_set_culling(false);

d3d_set_shading(false);

texture_set_interpolation(false);

d3d_set_fog(1,c_silver,200,300);

zdirection=0;

z=0;

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...