karolo320 Opublikowano 28 Lipca 2011 Udostępnij Opublikowano 28 Lipca 2011 Siema. Chciałem zrobić domki takie jak Bedziu w CityLife, ale mam pewnien problem. Zrobiłem je w 3d, czyli draw_set_color(c_white) d3d_draw_wall(x,y,0,x+128,y,200,background_get_texture(b1),1,1) d3d_draw_wall(x,y,0,x,y+128,200,background_get_texture(b1),1,1) d3d_draw_wall(x+128,y+128,0,x+128,y,200,background_get_texture(b1),1,1) d3d_draw_wall(x+128,y+128,0,x,y+128,200,background_get_texture(b1),1,1) d3d_draw_floor(x,y,0,x+128,y+128,0,background_get_texture(b2),1,1) d3d_set_projection(tutaj nie wiem do konca co wstawic :P,111,tu tez,110,1,1,1) I domki niby działają, ładnie wyglądają, ale jak dorobić do nich reszte w 2d? Wiecie o co chodzi :P I jeszcze jak wstawiam obiekt 2d ze spritem w prawo to widać go zwróconego w góra-lewo. Łaj? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XBlacKX Opublikowano 28 Lipca 2011 Udostępnij Opublikowano 28 Lipca 2011 on raczej robił w 2D te domki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 28 Lipca 2011 Autor Udostępnij Opublikowano 28 Lipca 2011 wiem, ale co to ma do pytania ?! :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Adamg1996 Opublikowano 29 Lipca 2011 Udostępnij Opublikowano 29 Lipca 2011 https://gmclan.org/up6237_12_Domek.html A sterowanie i sprity musisz poodwracać, ponieważ kamera w d3d jest od dołu pokoju a nie tak jak w edytorze roomów od góry. Chyba można ją odwrócić ale strasznie to wygląda i bardzo utrudnia chociażby rysowanie domków. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Lipca 2011 Autor Udostępnij Opublikowano 29 Lipca 2011 Hmm, zrobiłem rysowanie domków od z=-200 do z=0 i kamerę od z=-300 do z=0, ale koleś(w 2d) przy kodzie y-=4 idzie w dół. Da się temu jakoś zaradzić? :) Bez zmieniania kodu poruszania oczywiście E: i całego rooma odwraca w pionie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 29 Lipca 2011 Udostępnij Opublikowano 29 Lipca 2011 d3d_set_projection_ortho(x,y,width,height,rotation) // wlacza rysowanie 2d d3d_set_hidden(false) // wylacza ukrywanie niepotrzebnych surface <kod rysowania 2d> d3d_set_hidden(true) // z powrotem włącza ukrywanie niepotrzebnych surface Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Lipca 2011 Autor Udostępnij Opublikowano 29 Lipca 2011 I teraz gdzie to wstawić? Poco ukrywanie surfaców, jak ich nie mam? I czy to zaradzi odwróceniu roomu w pionie? Wstawie coś na samej górze to jest na dole :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 29 Lipca 2011 Udostępnij Opublikowano 29 Lipca 2011 yyy nie surfejsów :jezor:. Wstaw do draw. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Lipca 2011 Autor Udostępnij Opublikowano 29 Lipca 2011 Czekaj :D Mam te budynki od góry, ładne są i wgl. i mam zioma już w 2d (po prostu ustawiłem mu sprite_index i działa :P) i on też działa, ale odwraca rooma. Do którego obiektu do drawa to walnąć? Sorry za moją niekumatość, ale w 3D jestem zielony. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 29 Lipca 2011 Udostępnij Opublikowano 29 Lipca 2011 W draw gostka Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Lipca 2011 Autor Udostępnij Opublikowano 29 Lipca 2011 Spoxx, a co w width, height, angle? :P Wstawiłem 640,480,0 i widać tylko dachy domków(a powinny byc 3d) + nie widać tego ludka. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 29 Lipca 2011 Udostępnij Opublikowano 29 Lipca 2011 OMG width , height , angle szerokość, wysokość, kierunek Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Lipca 2011 Autor Udostępnij Opublikowano 29 Lipca 2011 OMG, wiem. Ale co mi po tej wiedzy jak nawet nie wiem do czego służy ta funkcja? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 29 Lipca 2011 Udostępnij Opublikowano 29 Lipca 2011 To może kod z faq: GML image_angle = direction if (keyboard_check(vk_left)) direction+=5; else if (keyboard_check(vk_right)) direction-=5; if (keyboard_check(vk_up) ) speed=3; else if (keyboard_check(vk_down) ) speed=-2; else speed=0; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Lipca 2011 Autor Udostępnij Opublikowano 29 Lipca 2011 a pocóż mi on? xd co to ma do mojego problemu(odwrócenie roomu w pionie poprzez chyba d3d_set_projection(view_xview+320,view_yview+240,-200,view_xview+320,view_yview+240,0,0,0,1))? Jakiś badziewny kod na poruszanie się załatwi ten problem? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 29 Lipca 2011 Udostępnij Opublikowano 29 Lipca 2011 A skąd mam wiedzieć co jest problemem jak mam tak mało info, bo na razie wiem tyle że problemem może być to że odwróciłeś monitor. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Lipca 2011 Autor Udostępnij Opublikowano 29 Lipca 2011 Więc trzeba było wstawić kod na poruszanie się? :/ A więc mam 3 obiekty: cam, dom i object5(koles) w camie mam w draw d3d_set_projection(view_xview+320,view_yview+240,-200,view_xview+320,view_yview+240,0,0,0,1) a w create d3d_start() draw_set_color(c_white) draw_set_alpha(1) w domie mam w draw: d3d_draw_wall(x,y,-200,x+128,y,0,background_get_texture(b1),1,1) d3d_draw_wall(x,y,-200,x,y+128,0,background_get_texture(b1),1,1) d3d_draw_wall(x+128,y+128,-200,x+128,y,0,background_get_texture(b1),1,1) d3d_draw_wall(x+128,y+128,-200,x,y+128,0,background_get_texture(b1),1,1) d3d_draw_floor(x,y,-200,x+128,y+128,-200,background_get_texture(b2),1,1) w kolesiu mam w step if keyboard_check(vk_up) and place_free(x,y+4) y+=4 if keyboard_check(vk_down) and place_free(x,y-4) y-=4 if keyboard_check(vk_left) and place_free(x-4,y) x-=4 if keyboard_check(vk_right) and place_free(x+4,y) x+=4 direction=-point_direction(x,y,mouse_x,mouse_y) image_angle=direction i view rusza się za kolesiem. Tyle mam :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 29 Lipca 2011 Udostępnij Opublikowano 29 Lipca 2011 Może dodaj w create view_angle=180 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Lipca 2011 Autor Udostępnij Opublikowano 29 Lipca 2011 Dobra, ale roomu nie odwracało o 180 stopni, tylko jakbym image_yscale=-1. Teraz direction=0 to w lewo + odwraca room w poziomie xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 29 Lipca 2011 Udostępnij Opublikowano 29 Lipca 2011 Aha, ogólnie to ten kod z faq na chodzenie działa poprawnie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Lipca 2011 Autor Udostępnij Opublikowano 29 Lipca 2011 Nie odzywaj się, jak nie chcesz pomóc... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 29 Lipca 2011 Udostępnij Opublikowano 29 Lipca 2011 Wystarczy y w d3d_set_projection() przesunąć o więcej niż 0, np.: 0.001 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 30 Lipca 2011 Autor Udostępnij Opublikowano 30 Lipca 2011 Kurde, bo ja już nie wiem :P Przesyłam projekt, może ktoś poprawi :) https://gmclan.org/up7221_12_asd7d3ea.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 30 Lipca 2011 Udostępnij Opublikowano 30 Lipca 2011 Może ja spróbuję to wytłumaczyć. Więc tak. Jak chcesz robić w 3d, to wszystkie sprity co chcesz użyć odwracasz do góry nogami. Wszystkie znaki przy y w kodzie 2d odwracasz(czyli jak masz + dajesz -) to samo z vspeed. Dodatkowo do direction w kodzie 2d dodajesz 180. To wszystko. Inaczej się nie da. Taki urok 3d w GM'ie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 31 Lipca 2011 Autor Udostępnij Opublikowano 31 Lipca 2011 @up: Dzięki :) Ale o odwróceniu rooma nic nie wspomniałeś. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 31 Lipca 2011 Udostępnij Opublikowano 31 Lipca 2011 karolo320 zrobiłeś tak jak powiedział ci kt1117? Zmieniałeś to wszystko w kodzie? Wystarczało zobaczyć to co ja ci powiedziałem: GML d3d_set_projection(view_xview+320,view_yview+240+0.01,-200,view_xview+320,view_yview+240,0,0,0,1) Jakiś miesiąc temu robiłem coś takiego jak ty i wystarczało ruszyć kamerą. Jak to działa? Kamera skierowana jest z 'yfrom' do 'yto' i z 'xfrom' do 'xto'. Skoro te punkty są w tym samym miejscu to w którą stronę obróci się kamera? Ogarnij to, a nie będziesz musiał ciągle pamiętać że masz odwróconą oś Y Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 31 Lipca 2011 Autor Udostępnij Opublikowano 31 Lipca 2011 Theef, ściągnij mój projekt i zrób :P Sie nie da jak w pysk Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 31 Lipca 2011 Udostępnij Opublikowano 31 Lipca 2011 Ale kamerą może przecież będzie chciał kręcić. Wtedy trochę jest zabawy żeby dobrać dobre liczby. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fronia1996 Opublikowano 17 Sierpnia 2011 Udostępnij Opublikowano 17 Sierpnia 2011 zrobił kto:P? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 17 Sierpnia 2011 Udostępnij Opublikowano 17 Sierpnia 2011 Ja przed chwilą pobrałem, przeglądam ten kod i się zastanawiam czy oś 'z' nie zwiększa się przypadkiem w GM-ie 'w stronę naszych oczu'? Bo wszystko w kodzie jest rysowane odwrotnie. Np.: budynki są od 0 do -200. Ja zawsze używałem dodatnich i było wporządku :) EDIT: Thirdly, the vertical y-coordinate is reversed. While normally the (0,0) position is at the top-left of the view, in 3D mode the (0,0) position is at the bottom-left position, as is normal for 3-dimensional views. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę