Skocz do zawartości

Celownik przy graczu


Rekomendowane odpowiedzi

Mam problem. próbowałem już kilkoma sposobami, ale żaden nie wychodził. :(

Powiedzcie mi więc, jak da się zrobić >>taki<< celownik.

Chciałbym, by kręcił się, gdy naciśnie się klawisz w dół lub w górę. Także chciałbym, by gdy kręcę myszką celownik się poruszał. Ale zawsze przy graczu.

Gdy wciśnie się strzałki, to mysz "idzie" za celownikiem, żeby nie zwabiała go w swoje miejsce.

Rozumiecie?

Jak to uczynić? :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

xcelownika=xpostaci+odleglosc*sin(degtorad(kierunek_celownika+90));
ycelownika=ypostaci+odleglosc*cos(degtorad(kierunek_celownika+90));

 

za kierunek celownika mozna podac

point_direction(xpostaci,ypostaci,mouse_x,mouse_y);

 

odleglosc to odległość od postaci do celownika w pikselach.

 

a w press key

var dirtemp,nowy_x_myszy, nowy_y_myszy, odl_myszy;
dirtemp=aktualny kierunek+5; //dodajemy aktualny kierunek kursora o 5
odl_myszy=point_distance(xpostaci,ypostaci,mouse_x,mouse_y);
nowy_x_myszy=xpostaci+odl_myszy*sin(degtorad(kierunek_celownika+90));
nowy_y_myszy=ypostaci+odl_myszy*cos(degtorad(kierunek_celownika+90));
window_mouse_set(nowy_x_myszy,nowy_y_myszy);
aktualny_kierunek=dirtemp;

odl_myszy to odegłośćl myszy od celownika, tak aby myszka nie skoczyła nagle zbyt bardzo z poprzedniego miejsca.

Odnośnik do komentarza
Udostępnij na innych stronach

Hm... zbyt skomplikowane dla mnie, albo źle napisane... No cóż. Po namyśle stwierdziłem, że do kursorków nie będę dodawał myszy... Więc mógłby ktoś powiedzieć jak zrobić właśnie >>TAKI<< celowniczek. Ten X to gracz.

Gdy naciskam klawisz w górę, to celownik powinien poruszyć się w górę, jeśli klawisz w dół, to w dół. Ważne, by wciąż kręcił się wokół gracza. Możecie pomóc?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

wszystko w graczu

w create

kierunek_celownika=0;

w step

odleglosc=50;//malowane 50px od gracz
x.celownik=x+odleglosc*sin(degtorad(kierunek_celownika+90));
y.celownik=y+odleglosc*cos(degtorad(kierunek_celownika+90));

w górę (zamień 5 na mniej gdy za szybko)

kierunek_celownika+=5;

w doł

kierunek_celownika-=5;

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ę...