Cygnus Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Cześć wszystkim, (Game Maker Studio) Problem jest tego typu,że normalnie jak uruchamiam swoją grę jest wszystko ,ładne menu gry,które zrobiłem,czcionka napisów też wszystko dobrze,wchodzę do gry też jest ok,ale kiedy z gry wyjdę,żeby wrócić do głównego menu,to moje menu staje się nie wyraźne,czcionka jakaś postrzępiona,bardzo brzydko to wygląda,w czym jest problem? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Prawdopodobnie gdzieś w grze zmieniasz aspect ratio. Pokaż 2 screenshoty z menu. Jeden jak jest dobrze i drugi jak jest źle. Wtedy zobaczymy co to może dokładnie być. I proszę Cię, przestać dopisywać do tematów to długie "Game Maker Studio". Temat ma służyć do szybkiego zidentyfikowania wątku. Szczegóły takie jak te podawaj w samym poście. Tak samo z opisem tematu, jest on całkiem zbędny. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 TU jest dobrze tak jak powinno być menu główne O tak wygląda te główne menu jak wyjdę z gry jak widać jest obraz niewyraźny i czcionka poszarpana Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Coś jest na rzeczy. Wczoraj u mnie w projekcie też zauważyłem problem AA czcionki. W moim przypadku (nie testowałem tego) podejrzewam, że kłopot pojawia się po użyciu draw_set_halign(fa_right) draw_set_valign(fa_bottom) Po tym, tekst przestaje być AA. U ciebie jednak widać, że nie tylko tekst zmienił jakość. Spróbuj zrobić flusha. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Uzjel to fakt mam w obiekcie controler w draw GML draw_set_halign(fa_center) draw_set_valign(fa_bottom) i teraz w draw co mam wpisać draw_texture_flush? co dokładnie mam wpisać? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Może coś w ustawieniach Game Makera studio jest nie tak...sam już nie wiem:/ co mam zrobić...żeby te menu było takie normalne jak przy włączeniu gry. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Mi to wygląda na zmniejszenie rozdzielczości a nie brak AA. Na krawędziach nadal AA jest widoczne. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Czerwca 2015 Administratorzy Udostępnij Opublikowano 25 Czerwca 2015 Ja tez obstawiam zmiany rozdziałki / viewów / port on screen Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 No dobrze,ale jak to naprawić,żeby było normalne te menu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Tak jak włączam swoją grę wszystko ładnie wygląda całe menu gry,a jak wejdę do gry i na moment z niej wyjdę do menu głównego,no to jak widzicie na screenach jak to wygląda,to samo jest jak gram no i zginę w grze,i wtedy przechodzę do pokoju Game Over i tak samo się dzieje brzydka niewyraźna czcionnika postrzępiona jak tam.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Czerwca 2015 Administratorzy Udostępnij Opublikowano 25 Czerwca 2015 No to sprawdź, czy nie zmieniasz w roomie z grą ustawień :) Np. w zakładce views. Albo kodem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Więc potrzeba nam więcej danych. O wiele więcej. Pierwsze prostsze: Sprawdź czy gdziekolwek w tym nie twoim kopiowanym kodzie masz słowa jak "view_wport", "draw_set_alpha_test" albo "application_surface". Możesz w GM:S wybrać z menu u góry opcję przeszukania wszystkich obiektów. Drugie: Podaj nam wartości view_hview[0] i view_hport[0] w trzech przypadkach. Na początku w działającym menu, w grze, a potem w zepsutym menu. Wystarczy że gdzieś w draw dodasz: GML draw_text(mouse_x,mouse_y,"view_hview[0]: "+string(view_hview[0])+"#view_hport[0]: "+string(view_hport[0])) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 No to sprawdź, czy nie zmieniasz w roomie z grą ustawień :) Np. w zakładce views. Albo kodem. Views w rommie menu mam tak ustawione: zaznaczone mam ptaszkiem: Clear Background with Windows Colour Clear display buffer with window Colour resztę mam odznaczone room menu ma rozdzielczość 1920x1080 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Wstaw najlepiej screena ustawień wszystkich roomów. W zakładce gdzie się ustawia views. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Threff ja jestem grafikiem w grze i od scenariusza prostych kodów,zastępuje kolegę,kod jest głównie nasz wspólny,ale to nie ja nad tym siedzę,po prostu przypadek losowy teraz się trafił,że muszę coś zrobić w grze parę rzeczy dlatego tak potrzebuje pomocy...Dobra mniejsza o tym to dla ścisłości mam na pewno "view_wport" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Pokaż kawałek kodu z tymi portami. view_wport musi być taki sam jak view_wview oraz view_hport taki sam jak view_hview. Żeby rozdzielczość się nie skopała. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Wstaw najlepiej screena ustawień wszystkich roomów. W zakładce gdzie się ustawia views. Nie mam teraz jak wstawić,bo mi serwer coś nawala i nie mogę chwilowo się do niego podłączyć...tych pokoi to ja mam sporo już.. na pewno mam tak,że pokoje menu są wszystkie w rozdzielczości 1920x1080 natomiast pokoje gry,to są w różnej wielkości najczęciej długie dość bo 19200x800 dobra może łatwiej kodem będzie o to kod z obj_global_controller: BEGIN STEP GML ///Window if (view_wport[0] != window_get_width() || view_hport[0] != window_get_height()) && window_get_width() != 0 { view_wport[0] = window_get_width(); view_hport[0] = window_get_height(); view_hview[0] = view_wview[0]/view_wport[0]*view_hport[0]; surface_resize(application_surface,view_wview[0],view_hview[0]); //display_set_gui_size(view_wview[0],view_hview[0]); //wersja alternatywna display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa } obj_game_controller CREATE GML ///Setup global.pScore = 0; global.life = 5; global.coins = 0; globalvar spawnX, spawnY; //View globalvar gvX, gvY, gvW, gvH, gvObj, gvOffX, gvOffY; gvX = view_xview[0]; gvY = view_yview[0]; gvW = view_wview[0]; gvH = view_hview[0]; gvObj = view_object[0]; gvOffX = 0; gvOffY = 0; //HUD hpHUD = 0; maxHpHUD = 0; END STEP GML ///View if view_wview[0] != gvW || view_hview[0] != gvH { var tempW, tempH; tempW = view_wview[0]; tempH = view_hview[0]; if gvW/view_wport[0] >= gvH/view_hport[0] { view_hview[0] = lerp(view_hview[0],gvH,.3); view_wview[0] = view_hview[0]/view_hport[0]*view_wport[0]; } else { view_wview[0] = lerp(view_wview[0],gvW,.3); view_hview[0] = view_wview[0]/view_wport[0]*view_hport[0]; } view_xview[0] -= (view_wview[0]-tempW)/2; view_yview[0] -= (view_hview[0]-tempH)/2; } if view_wview[0] > room_width { view_wview[0] = room_width; view_hview[0] = view_wview[0]/view_wport[0]*view_hport[0]; } if view_hview[0] > room_height { view_hview[0] = room_height; view_wview[0] = view_hview[0]/view_hport[0]*view_wport[0]; } if instance_exists(gvObj) { gvX = min(max(0,gvObj.x+gvOffX-view_wview[0]/2),room_width-view_wview[0]); gvY = min(max(0,gvObj.y+gvOffY-view_hview[0]/2),room_height-view_hview[0]); gvOffX = 0; gvOffY = 0; } view_xview[0] = round(min(max(0,lerp(view_xview[0],gvX,.15)),room_width-view_wview[0])); view_yview[0] = round(min(max(0,lerp(view_yview[0],gvY,.15)),room_height-view_hview[0])); gvW = gvWStart; gvH = gvHStart; //Backgrounds for(i=0;i<8;i++) { if background_visible == true || background_foreground == true { //Horizontal if background_width != room_width { background_x = view_xview[0]/(room_width-view_wview[0])*(room_width-background_width); } //Vertical if background_height != room_height { background_y = view_yview[0]/(room_height-view_hview[0])*(room_height-background_height); } } } Room start GML ///View globalvar gvXStart, gvYStart, gvWStart, gvHStart, gvObjStart; gvXStart = view_xview[0]; gvYStart = view_yview[0]; gvWStart = view_wview[0]; gvHStart = view_hview[0]; gvObjStart = view_object[0]; if instance_exists(gvObj) { view_xview[0] = min(max(0,gvX),room_width-view_wview[0]); view_yview[0] = min(max(0,gvY),room_height-view_hview[0]); } DRAW GUI GML ///Draw player HUD draw_set_color(c_white); draw_text(32, 88, string(" Score: " + string(global.pScore))); var __guiW = display_get_gui_width(), __guiH = display_get_gui_height(); draw_sprite(spr_healthbar,0,0,0); draw_text(32, 64, string(" Lives: " + string(global.life))); draw_text(32, 120, string(" Coins: " + string(global.coins))); if instance_exists(par_player) { hpHUD = lerp(hpHUD,par_player.hp,.5); maxHpHUD = par_player.maxHp; with obj_player { var _offset; _offset = 0; draw_set_font(fnt_pwrup); draw_set_valign(fa_bottom); draw_set_halign(fa_center); draw_set_color(c_white); draw_texture_flush(); if pwrupSpd > 0 { draw_sprite_ext(spr_pwrup_speed,0,__guiW-26,29+35*_offset,1,1,0,c_gray,.5); draw_text(__guiW-26,29+35*_offset,string(ceil(pwrupSpd/room_speed))); _offset++; } if pwrupStr > 0 { draw_sprite_ext(spr_pwrup_strength,0,__guiW-26,35+35*_offset,1,1,0,c_gray,.5); draw_text(__guiW-26,35+35*_offset,string(ceil(pwrupStr/room_speed))); _offset++; } if pwrupJmp > 0 { draw_sprite_ext(spr_pwrup_jump,0,__guiW-26,28+35*_offset,1,1,0,c_gray,.5); draw_text(__guiW-26,28+35*_offset,string(ceil(pwrupJmp/room_speed))); _offset++; } } } else { hpHUD = lerp(hpHUD,0,.5); } draw_sprite_part(spr_healthbar,1,4,0,91/maxHpHUD*hpHUD,32,4,0); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 GML surface_resize(application_surface,view_wview[0],view_hview[0]); //display_set_gui_size(view_wview[0],view_hview[0]); //wersja alternatywna display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa</span> To są linijki które odpowiadają za to że później wszystko jest rozjechane. Po prostu sami zmieniacie rozmiar rysowanej powierzchni gry (application_surface) wg rozmiaru okna gry. Potem w menu wszystko jest skopane i rozciągnięte. Żeby wszystko było w porządku musisz to zresetować do "domyślnych" rozmiarów. W create twojego menu czy gameover w jakimś obiekcie daj znów: GML surface_resize(application_surface,view_wview[0],view_hview[0]); display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 wpisałem to do obj_global_controler Begin STEP GML ///Window if (view_wport[0] != window_get_width() || view_hport[0] != window_get_height()) && window_get_width() != 0 { view_wport[0] = window_get_width(); view_hport[0] = window_get_height(); view_hview[0] = view_wview[0]/view_wport[0]*view_hport[0]; surface_resize(application_surface,view_wview[0],view_hview[0]); //display_set_gui_size(view_wview[0],view_hview[0]); //wersja alternatywna display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa } surface_resize(application_surface,view_wview[0],view_hview[0]); display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa</span> Jak na razie nic to nie pomogło:/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Oczywiście że nie pomogło bo nie wpisałeś tego co Ci dałem tylko znów to co było. Rozmiar okna jest inny od rozmiaru tego co widzisz w grze. W twoim wypadku będzie się pewnie różnił o piksel albo nawet 6. Wklej dokładnie to co dałem. Musisz zresetować do domyślnego widoku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Nawet stworzyłem oddzielny obiekt w Create dałem ten kod: GML surface_resize(application_surface,view_wview[0],view_hview[0]); display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa</span> to jak umieściłem ten obiekt na planszach menu i game over,to teraz wygląda to ohydnie brzydko czcionka i ekran rozszarpany Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Pytanie teraz czy usunąłeś resztę? Wygląda na to że nie i teraz wszystko ma inne rozmiary. Dodaj jeszcze GML view_wport[0]=view_wview[0] view_hport[0]=view_hview[0] albo po prostu wyłącz view jeżeli nie jest potrzebny. Oczywiście nie zapominając o ustawieniu ponownie application_surface. Ogółem twój problem bierze się z tego że wartości window_get_width(), window_get_height(), view_wport[0], view_hport[0], view_wview[0], view_hview[0], oraz rozmiary application_surface i GUI są różne. Musisz zacząć śledzić te wartości tj. debugować je, i sprawdzać czemu w poszczególnych wypadkach są złe. Wtedy dopiero możesz się zastanawiać czym to jest spowodowane. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Kurcze Thref weź mi dokładnie powiedz,gdzie to mam wpisać,bo wpisałem to w nowym obiekcie który stworzyłem czyli obj_poprawa: CREATE GML surface_resize(application_surface,view_wview[0],view_hview[0]); display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa</span> view_wport[0]=view_wview[0] view_hport[0]=view_hview[0] I ten obiekt dodałem do menu i do game over,ale jak to tam umieściłem,to znowu jest brzydki ekran:/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Jak pisałem wcześniej, musisz sprawdzić wartości wszystkich tych zmiennych we wszystkich warunkach gdy dzieje się coś źle oraz dobrze. Dopiero wiedząc co jest nie tak będzie można cokolwiek zaradzić, teraz strzelamy na ślepo. Dobrze wiem co powoduje problem ale nie mamy pojęcia gdzie i czemu. Nawet nie wiem czy twoje menu jest w zwykłym Draw czy w GUI, ale wydaje mi się teraz że nie masz w tych room ustawionych view. Dlatego zmień wszystko z tego twojego nowego obiektu na: GML surface_resize(application_surface,room_width,room_height) display_set_gui_maximise() To wciąż jest strzelanie na ślepo! Potrzebujemy danych! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Ok właśnie to robię,wiem,że strzelamy,ale w końcu się uda;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Threef jesteś niesamowity;) pomogło;) to GML surface_resize(application_surface,room_width,room_height) display_set_gui_maximise() I teraz wszystko jest pięknie;) kurcze ;) dziękuje!!! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 25 Czerwca 2015 Udostępnij Opublikowano 25 Czerwca 2015 Nie, nie pomogło. To jest tylko łatka, a problem wciąż gdzieś pozostaje i jest związany z niezrozumieniem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Ale przecież nie mam wielu pokoi w menu,więc wystarczyło ten obiekt tam umieścić i pomogło,w samej grze w pokojach ze scenerią ten problem nie występuje Threef Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Ja nawet za dużo obiektów w samej scenerii gry nie mam bo jeden cały kod obiektu wysłałem to był obj_global_controller, w scenerii grze mam jeszcze takie obiekty: obj_game_controller obj_room_controler obj_fade obj_przejscie7 i to wszystko jeśli chodzi o obiekty w sceneriach gry(roomach) w pokoju menu,to mam ten nowy obiekt,który stworzyłem czyli obj_poprawa,oraz obj_fade w pokoju game over jest obj_poprawa i obj_game_over_stop I tak to wygląda... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 25 Czerwca 2015 Autor Udostępnij Opublikowano 25 Czerwca 2015 Faktycznie Threef jest jeszcze problem w pokoju game over jak zginę to oczywiście przekierowuje mnie do roomu game over,ale czcionka tam nie wyraźna jest,i jak nacisnę bo tam mam ustawione r restart to ok bo zaczynam plansze od nowa,a jak nacisnę escape,bo tak też ustawiłem wracam do głównego menu i znowu jest to postrzępione,ale już tylko tu i w game over...ale nie ma już tego problemu jak jestem w grze i wyjdę z gry do głównego menu... 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ę