Skocz do zawartości

Przewijanie Myszką


Remx

Rekomendowane odpowiedzi

............................................

Witam ponownie :P wiem wiem za dużo się rozpisuje na forum ale juz niebawem tak nie bedzie bo juz duzo sie sam dowiedziałem o GM :)

ale nadal się uczę :P i szukam pomocy :) a mianowicie.

 

Chce zrobić przewijanie ekranu myszką cos w stylu RTS ze jak kursorem dojedziemy do obrzeży ekranu przesówa sie nam widok(ekran).

ale jeszcze to nie wszystko normalnie niedało by sie przesówac ekranu dopuki sie nie zaznaczy którejś z postaci a po zaznaczeniu jej postac przekaze zmienna do skryptu np: global.zasieg=1800; skrypt zas ten od przesówania ekranu nie pozwoli dla myszki oddalić się o 1800 pixeli od tej ze postaci.

 

Chce tej sztuczki użyć niby zasięg-widok postaci. czyli nawet jak bron dalszy ma zasię to niestety oczy nam nie pozwolą zobaczyc wroga dalej oddalonego.

 

 

Dziekuje i Pozdrawiam

 

.................

Nikt niewie :(

Odnośnik do komentarza
Udostępnij na innych stronach

Ponizej przedstawiam przykład mojej idei

 

position obj_B

x=921 y= 1335

 

if (check=1) then view_object[0]=cursor;

if (position_cursor+222 > position_obj_B) then view_object[0]= stop_move ;

 

circle_obj_B=position max

 

curs_view.jpg

 

tylko jak to teraz zrobic wiem ze chyba trzeba użyć distanse ale jak napisac skrypt aby ten dystans byl wykreslany jako koło :(

Odnośnik do komentarza
Udostępnij na innych stronach

hehe Remx zadajesz zbyt skomplikowane pytania jak na to forum :lol:

 

Przedewszystkim musisz w kazdej postaci zaznaczyc wartosc o jaką mozna przesunac widok po jej zaznaczeniu. Nastepnie tworzysz "flagę" ktora bedzie mowic czy dana postac jest zaznaczona. ( Pamietaj tez zeby odznaczyc wszystkie pozostale postacie zaznaczając tą jedyną ). Tak przygotowany tworzysz view[0] i ustawiasz jego parametry. Nie wiadomo czy zaznaczona postac ma "zasieg widzenia " wiekszy niz aktualne ustawienia widoku... wiec na wszelki wypadek zawsze centruj widok na zaznaczanej postaci. Nastepnie w step kursora myszki sprawdzasz 3 rzeczy :

 

1) czy postac jest zaznaczona

2) czy kuror jest blisko krawedzi widoku

3) czy odleglosc kursora myszki od postaci nie jest wieksza niz zasieg widzenia

 

Jesli wszystkie te wartosci są pozytywne ( sprawdzasz warunek dla AND ) to mozna przesuwac jesli nie.. to nie.

 

Jesli nie poradzisz sobie mimo mojej podpowiedzi, daj znac z czym masz problem ( lub jesli w ogole nie zrozumiales ) a postaram sie wyjasnic bardziej dokaldnie.

Odnośnik do komentarza
Udostępnij na innych stronach

tak flagi mam tak ze jak klikne postac top globalna zmienna (global.nrpost) przyjmuje tak jagby kod unikalny a inne postacie maja w sobie skrypty zrobione tak ze :

if (global.nrpost=xxxxx) then

{

skrypt

}

 

else

break;

wiec wykonuje w danym momencie skrypt tlko zaznaczonej postaci

 

a co do kursora to mam cos takiego ze zrobilem element o_cursor i ma on w stepie x=mouse_x y=mouse_y

view_vspeed=4; view_hspeed=4;

oraz postacie maja w sobie wpisane ze jak sie kliknie na postac to

view_object[0]=obj_postac_A;

a krawedzie ekranu zrobilem tak

view_vboard[0]=10 view_hboard[0]=10

 

teraz jest tylko do zrobienia moze cos takiego

 

ze jak o_cursor odali sie od postaci to v i h speed przyjmie zero :) moze to zadziala :huh:

.......................

 

na domowym forum GM

ktos mi zapodał taki kod

 

 

move_direction=point_direction(you.xprevious,you.yprevious,you.y,you.x)
if point_distance(you.x,you.y,center_of_view.x,center_of_view.y) > 300
{
do
{
  center_of_view.x = center_of_view.x + 3 * cos(degtorad(move_direction))
  center_of_view.y = center_of_view.y - 3 * sin(degtorad(move_direction))
}
until point_distance(you.x,you.y,center_of_view.x,center_of_view.y) <= 300
}

jeszcze nie sprawdzaelem czy dziala i o co w nim biega :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
hehe Remx zadajesz zbyt skomplikowane pytania jak na to forum  :lol:

Ekhem, co masz na myśli? <_<

 

Choosen : powinienes odpowiadac na pytania zamiast zadawac wlasne i to nie na temat... no chyba ze pytanie bylo nazbyt skomplikowane :jezor:

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