MXQ Opublikowano 5 Czerwca 2011 Udostępnij Opublikowano 5 Czerwca 2011 potrzebuje kodu na motion blur room'a szukałem na forum ale odpowiedzi poprzednich tematów nie były dobre Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 5 Czerwca 2011 Udostępnij Opublikowano 5 Czerwca 2011 Jedyne co mi przychodzi do głowy, to GML surf=surface_create(szerokość rooma, wysokość rooma) surface_set_target(surf) draw_clear(c_black) surface_reset_target() //draw surface_set_target(surf) screen_redraw() surface_reset_target() draw_surface(0,0,surf) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 5 Czerwca 2011 Autor Udostępnij Opublikowano 5 Czerwca 2011 niestety gierka "przestaje działać" - wyłącza się bez błędy GM'a Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 5 Czerwca 2011 Udostępnij Opublikowano 5 Czerwca 2011 CREATE obj_mblur GML window_w = window_get_region_width(); //The surface width window_h = window_get_region_height(); //The surface height buffer = surface_create(window_w,window_h); //The buffer-surface surface = surface_create(window_w,window_h); //The blur-surface blur_amount = 0.34; //The amount of blur (1 is no blur, 0 is frozen-screen) fx = window_w/display_get_width(); fy = window_h/display_get_height(); set_automatic_draw(0); //Set automatic draw to 0 draw_clear(c_black); //Clear surface memory to black. view_xspeed = 0; //Speed of the horizontal view-sliding view_yspeed = 0; //Speed of the vertical view-sliding version = show_question("Are you using GameMaker Version 6.1 or under?"); END STEP GML if view_xview[0]<0 {view_xview[0]=0} //Stop the view from going too far. if view_xview[0]>room_width-view_wview[0] {view_xview[0]=room_width-view_wview[0]} //Likewise if view_yview[0]<0 {view_yview[0]=0} //Stop the view from going too far. if view_yview[0]>room_height-view_hview[0] {view_yview[0]=room_height-view_hview[0]} //Likewise view_xview[0]+=view_xspeed; //Move View appropriately view_yview[0]+=view_yspeed; //Move View appropriately if view_xspeed>0 {view_xspeed-=0.1} //Apply Friction to the View-Sliding else if view_xspeed<0 {view_xspeed+=0.1} //Apply Friction to the View-Sliding else {view_xspeed=0} //Apply Friction to the View-Sliding if view_yspeed>0 {view_yspeed-=0.1} //Apply Friction to the View-Sliding else if view_yspeed<0 {view_yspeed+=0.1} //Apply Friction to the View-Sliding else {view_yspeed=0} //Apply Friction to the View-Sliding surface_set_target(buffer); //Set the surface target to the buffer draw_clear_alpha(c_black,0); screen_redraw(); //Redraw the screen, capturing it onto the buffer-surface. surface_set_target(surface); //Set the surface target to the blur. draw_clear_alpha(c_black,1); draw_set_blend_mode_ext(7,11); //Unique Blend Mode draw_surface(buffer,0,0); //Draw the buffer-surface (screen) draw_set_blend_mode(bm_normal); //Reset Blend Mode surface_reset_target(); //Reset Target //If we're using GM6.1 this script is requires to work around a bug. If you're using 7.0 this script is not used. if version=1 { d3d_transform_set_identity(); d3d_transform_set_scaling(fx,fy,0); } draw_surface_ext(surface,0,0,1,1,0,c_white,blur_amount); //Draw the surface correctly. d3d_transform_set_identity(); screen_refresh(); //Present the result.</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 5 Czerwca 2011 Autor Udostępnij Opublikowano 5 Czerwca 2011 big thanks :thumbsup: czyi to kod? E: jeszcze małe pytanko, co zrobić żeby po zniszczeniu tego obiektu gra się nie zawieszała? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 5 Czerwca 2011 Udostępnij Opublikowano 5 Czerwca 2011 w end step innego obiektu screen_redraw(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 5 Czerwca 2011 Autor Udostępnij Opublikowano 5 Czerwca 2011 a żeby tak czasowo coraz mniejszy był motion blur aż do zera? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 5 Czerwca 2011 Udostępnij Opublikowano 5 Czerwca 2011 big thanks :thumbsup: czyi to kod? E: jeszcze małe pytanko, co zrobić żeby po zniszczeniu tego obiektu gra się nie zawieszała? Z Effect engine 3.1 JEszcze takie coś jest W room end GML set_automatic_draw(1); //Reset the drawing methods to automatic. surface_free(buffer); surface_free(surface); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 5 Czerwca 2011 Autor Udostępnij Opublikowano 5 Czerwca 2011 @up ok dzieki a żeby tak czasowo coraz mniejszy był motion blur aż do zera? tylko jeszcze z tym mam problem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 5 Czerwca 2011 Udostępnij Opublikowano 5 Czerwca 2011 A nie czasami ze zmienną blur_amount kombinowanie? zmniejszaj ją do 0 co step może. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 5 Czerwca 2011 Autor Udostępnij Opublikowano 5 Czerwca 2011 kiedy próbuje coś z tym zrobić wiesza mi troche i nie daje efektu :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 5 Czerwca 2011 Udostępnij Opublikowano 5 Czerwca 2011 w create: GML blur_amount = 0.10; daj w step np: GML if(blur_amount<1) { blur_amount+=.001; } Mi działa ładnie, na początku jest gęsty blur który w czasie zwiększania zmiennej blur_amount się zmniejsza aż zanika (blur_amount==1) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 7 Czerwca 2011 Autor Udostępnij Opublikowano 7 Czerwca 2011 @up aa po prostu zamiast dodawać to odejmowałem tę wartość, dzięki :) otwieram temat, bo mam znów problem! otóż kiedy view jest dość daleko od pozycji 0,0 w roomie to motion blur nie działa :( E: a jednak tu chodzi o to że jak 2-gi raz zostanie stworzony obiekt odpowiedzialny za motion blur'a to wtedy nie działa motion blur Bardzo bardzo pilne! to naprawdę mega ważne! a jednak tu chodzi o to że jak 2-gi raz zostanie stworzony obiekt odpowiedzialny za motion blur'a to wtedy nie działa motion blur o to chodzi :( dobra, drugi raz odświeżam, ale na serio jest mi to potrzebne dzisiaj! chodzi o to że jak 2-gi raz zostanie stworzony obiekt odpowiedzialny za motion blur'a to wtedy nie działa motion blur ^ ^ ^ ^ ^ ^ ^ ^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 21 Czerwca 2011 Autor Udostępnij Opublikowano 21 Czerwca 2011 bump ej, no chcę chociaż żeby ten temat był na górze <_< Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 21 Czerwca 2011 Udostępnij Opublikowano 21 Czerwca 2011 Ale co Ci tu nie gra, po co chcesz mieć jednocześnie dwa obiekty odpowiedzialne za motion blura? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 21 Czerwca 2011 Autor Udostępnij Opublikowano 21 Czerwca 2011 nie dwa naraz, tylko po usunięciu 1-szego, po jakimś czasie drugi jak zostanie stworzony to nie wywołuje motion blura 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ę