kriso99 Opublikowano 12 Stycznia 2011 Udostępnij Opublikowano 12 Stycznia 2011 JAK TO ZROBIĆ??? object1 jest przedstawiony jako lista. Niezależnie gdzie pujdzie bohater i jak się przesunie ekran obiect1 ma być w lewym górnym rogu ekranu. Na tej liście jest kilka objektów chce też aby te objekty nie zmieniały miejsca względem listy. Dajmy np. że bochater ma włączonego wiewa z opóźnieniem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 12 Stycznia 2011 Udostępnij Opublikowano 12 Stycznia 2011 GML x=view_xview+0 y=view_yview+0 to powinno działać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piedro Opublikowano 12 Stycznia 2011 Udostępnij Opublikowano 12 Stycznia 2011 Dam Ci uniwersalną wersję kodu Cordoby: GML //create obiektu listy iks=x igrek=y GML //wrzuć to w stepie listy x=view_xview+iks y=view_yview+igrek to spowoduje że lista zachowa swoje położenie tak jak ją ustawiłeś w roomie (patrz na ramkę viewa aby cała lista się w nim zmieściła) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 12 Stycznia 2011 Autor Udostępnij Opublikowano 12 Stycznia 2011 jak wpisze ten kod w step to obiekt spuźnia się Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 12 Stycznia 2011 Udostępnij Opublikowano 12 Stycznia 2011 Wrzuć to do draw i będzie działać. GML x=view_xview+0 y=view_yview+0 draw_sprite_ext( sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha ); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Radio14 Opublikowano 12 Stycznia 2011 Udostępnij Opublikowano 12 Stycznia 2011 Daj to w Draw Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 12 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 12 Stycznia 2011 obiekt, pójdzie, bohater Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piedro Opublikowano 12 Stycznia 2011 Udostępnij Opublikowano 12 Stycznia 2011 jak wpisze ten kod w step to obiekt spuźnia się wrzuc to do begin step Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 12 Stycznia 2011 Autor Udostępnij Opublikowano 12 Stycznia 2011 at position 2: This function is only available in the Pro Edition. ha ha nie mam pro... jeszcze da się jakos inaczej wrzuc to do begin step niedziała Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 12 Stycznia 2011 Udostępnij Opublikowano 12 Stycznia 2011 Draw GML x=view_xview+0 y=view_yview+0 draw_sprite( sprite_index, image_index, x, y) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 12 Stycznia 2011 Autor Udostępnij Opublikowano 12 Stycznia 2011 działa ale czy nie dało by się może...'uniwersalną' wersję tego kodu czyli żeby było w tym samym miejscu co w roomie wstawiłem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 12 Stycznia 2011 Udostępnij Opublikowano 12 Stycznia 2011 Create: GML xi=x yi=y Draw: GML x=view_xview+xi y=view_yview+yi draw_sprite( sprite_index, image_index, x, y) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 13 Stycznia 2011 Autor Udostępnij Opublikowano 13 Stycznia 2011 dzięki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 13 Stycznia 2011 Administratorzy Udostępnij Opublikowano 13 Stycznia 2011 Draw GML x=view_xview+0 y=view_yview+0 draw_sprite( sprite_index, image_index, x, y) Mam pytanie - po kiego trzyba + 0 ? Równie dobrze można by napisać view_xview+5-5+10-10+4-4+0-0+0-0+0-0 - tyllko spowalniacie GMa obliczeniami które i tak nic nie zmieniają. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 13 Stycznia 2011 Autor Udostępnij Opublikowano 13 Stycznia 2011 jeszcze jedno pytanko mam ustawionego view'a: GML event_perform(ev_other,ev_user0); view_object[0]=ludzik; view_hborder[0]=150; view_vborder[0]=150; t_curr=2; ludzik ma mieć ustawionego viewa do samej planszy nie do listy i planszy czyli [------lista------]p--l--a--[ludzik]n--s--z--a ,a nie [------lista------]p-[ludzik]-l--a--n--s--z--a Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 13 Stycznia 2011 Administratorzy Udostępnij Opublikowano 13 Stycznia 2011 Do jakiej znów listy ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 13 Stycznia 2011 Autor Udostępnij Opublikowano 13 Stycznia 2011 JAK TO ZROBIĆ??? object1 jest przedstawiony jako lista. Niezależnie gdzie pujdzie bohater i jak się przesunie ekran obiect1 ma być w lewym górnym rogu ekranu. Na tej liście jest kilka objektów chce też aby te objekty nie zmieniały miejsca względem listy. Dajmy np. że bochater ma włączonego wiewa z opóźnieniem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 14 Stycznia 2011 Autor Udostępnij Opublikowano 14 Stycznia 2011 view jest usztawiony do całego ekranu czyli jak chcę przejść w lewo to musze wejść na listę. Jak mam zrobić żeby lista była z boku , a view był ustawiony na samą planszę,a nie na plansze i listę Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Stycznia 2011 Administratorzy Udostępnij Opublikowano 14 Stycznia 2011 A, ok, teraz rozumiem - no to jest już grubsza sprawa, bo szczerze powiedziawszy sam mam z tym zawsze problemy. Najprosze rozwiązanie to zrobić dwa viewy - np. mając okno 800x600, robisz view[0] który zaczyna się na x = 100, width = 700px, y = 0, height = 600, natomiast view[1]: x = 0, width = 100px, y = 0, height = 600. Teraz w obiekcie z listą, tam gdzie jest draw dajesz: GML if view_current != 1 then exit; Niestety nadal rodzi to pewne problemy - otóż mouse_x i mouse_y są chyba liczone względem viewa, no i w view[1] tak naprawdę pod spodem nadal będzie widać normalną planszę - a więc i postać (lista musi mieć duży, ujemny depth aby je przsłonić) - więc w przypadku gdy będą jakieś akcje wciśnięcia myszy na postaci, to też się wykonają - lista zasłania obiekt, ale tylko się na nim "rysuje". Sposób drugi - tworzyć plansze w grze tak, że pierwsze 100px które zajmuje lista, nie jest nigdy niczym zajęte, a samą planszę gry zaczynamy dopiero powyżej tej wartosci (trzeba tylko ustawić jakąś niewidzialną ścianę dla bezpieczeństwa). Edit: Jak znajdę czas wieczorem, to pierwszy sposób mogę zrobić w GM8 i wrzucić na forum. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 14 Stycznia 2011 Udostępnij Opublikowano 14 Stycznia 2011 Sposób pierwszy, jeśli się nie mylę, jest wolniejszy od drugiego. mouse_x i mouse_y są liczone niezależnie od viewa (tzn. jeśli najedziesz kursorem na lewy górny róg okna, to mouse_x będzie równe view_xview - i tak samo z mouse_y). W sposobie drugim barierę zrobić bardzo łatwo. W End Step object1: GML with(all) if(x < 100) x = 100 x = xprevious Ja kiedyś robiłem jeszcze inaczej, po prostu dawałem obiekt (u Ciebie listę) daleko poza planszą i tam ustawiałem viewa. Nie martwiłem się o żadne niewidzialne ściany, ale sposób to nie najszybszy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 15 Stycznia 2011 Autor Udostępnij Opublikowano 15 Stycznia 2011 gnysek objecałeś zrobić przykład Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi