Skocz do zawartości

Zmiana zmiennej w viewach


Brox

Rekomendowane odpowiedzi

Siema!

Mam podzielony ekran na 2 viewy i moje pytanie jest takie jak zrobić, że jak myszka jest w pierwszym viewie to np. jakaś tam zmienna zmienia wartość na true, a jak myszka jest w drugim viewie do to ta zmienna zmienia wartość na false?

Jest w ogóle takie coś możliwe?

Odnośnik do komentarza
Udostępnij na innych stronach

jesli masz ekran podzielony na 2 viewy (np jak w jakiejs grze na 2 graczy),

gdzie jeden view znajduje sie na gorze, a drugi na dole

 

to (wartosci podalem przykladnie)

 

if

mouse_x>100

then

zmienna=false

 

(jesli x kursora jest wieksze niz 100, wtedy zmienna=false)

 

if

mouse_x<100

then

zmienna=true

 

(jesli x kursora jest mniejsze niz 100, wtedy zmienna=true)

wiec jesli viewy granicza ze soba na (podalem 100), to gdy myszka jest na gornym viewie zmienna=true, a gdy na dolnym wtedy zmienna=false

Odnośnik do komentarza
Udostępnij na innych stronach

Wiem o co Ci chodzi ale to tak nie działa :D nie wiem czy mnie zrozumiałeś czy nie ale nie o to mi chodziło.

Pozycja myszki w każdym roomie jest inna, bo jak np. pierwszy view pokazuje początek mapy a drugi view pokazuje koniec mapy to pozycja myszki w każdym roomie będzie inna a nie tak jak mówisz, że pozycja myszki jest określona po przez położenie jej na oknie gry.

Odnośnik do komentarza
Udostępnij na innych stronach

mozesz zrobic wielki, cały zacieniowany sprite wielkosci viewa, walnac go w jakis obj, ustawic zeby ten obj lazil za viewem, wtedy zrobic event mouse enter, a w nim walnac zmienna=true

to samo z drugim viewem

 

oczywiscie takze ustawic Depth tych obj tak, zeby byly pod wszystkimi obiektami (zeby byly niewidoczne, gdyby cieniowanie niestarczylo)

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem czy o to Ci chodzi, ale dajmy teraz tak, że te dwa viewy są w tej samej pozycji to przecież ten wielki kwadrat :D będzie w pierwszym viewie jak i w drugim ;p, czyli raczej nie sprawdzi w którym viewie jest myszka.

Odnośnik do komentarza
Udostępnij na innych stronach

A może zwyczajnie przez jakiegoś DLL'a których są setki? Coś od okienek :P. Pobierasz pozycję myszki względem pozycji danego okna :P. Wtedy dajesz:

GML
if ( ( pozycja_x_myszki - pozycja_x_okna ) < view_width[0] ) {

global.zmienna_odpowiadajaca_za_wybrany_view = 0;

}

else

if ( ( pozycja_x_myszki - pozycja_x_okna ) > view_width[0] ) {

global.zmienna_odpowiadajaca_za_wybrany_view = 1;

}

 

Dawno w GMie nie używałem viewów to nie pamiętam wszystkich nazw. Jednak coś podobnego spróbuj zrobić. A jak korzystać z DLLi, jaki wybrać itp. to już na forum wertowane było wielokrotnie.

Odnośnik do komentarza
Udostępnij na innych stronach

Kombinujecie...

Prosty przykład:

 

GML
var _vx1, _vx2;

 

_vx1 = window_view_mouse_get_x( 0 ) - view_xview[0];

_vx2 = window_view_mouse_get_x( 1 ) - view_xview[1];

 

if( _vx1 >= 0 && _vx1 <= 320 )

text = "View 1 ["+string(_vx1)+"]";

else

if( _vx2 >= 0 && _vx2 <= 320 )

text = "View 2 ["+string(_vx2)+"]";

else

text = "N/A";

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