pankracy Opublikowano 24 Czerwca 2019 Udostępnij Opublikowano 24 Czerwca 2019 Cześć wszystkim. Właśnie jestem na etapie tworzenia menu gry w którym będę zmieniał rozdzielczość: Dostępne będą: 1024x768 1280x720 Pytanie..bo mam textboxa...jest on dopasowany do ekranu 1024x600 i 1024x768. jak ustawie view na 1280x720 to cały textbox jest już w innym miejscu na planszy.. Czy jest możliwość ustawić tak żebym nie musiał ręcznie zmieniać parametrów texboxa w draw? zresztą jak chce mieć dwie rozdzielczości to chciałbym żeby textbox dopasował się do rozmiaru view. myślałem o użyciu funkcji application_surface; Ale nie wiem czy dobrze kombinuje... tak wygląda kod obj_textbox obj_textbox Create alpha=0; //przeswitywalnosc step=0; //kolejne zadanie przez nas wykonywane - KROK text=''; //tekst jaki mamy wyswietlic leght = 0; Step if(variable_global_exists("textq")) //Jesli zmienna global.textq istenieje, to wykonuj ponizszy kod { if(ds_exists(global.textq, ds_type_queue)) //Jesli data structure istnieje, to wykonuj ponizszy kod { if not ds_queue_empty(global.textq) and global.text_get=true //jezeli [kolejka] nie jest pusta i mozna [pobrac tekst] { global.text_get=false;//wylacz pobieranie tekstu, aby funkcja sie juz nie wywolala, dopuki znowu nie bedzie true text=ds_queue_dequeue(global.textq);//pobierz tekst z kolejki step=1;//ustaw zadanie na jeden leght=0; } //KROK 1 if step=1 { //zmniejszamy przeswitywalnosc az do max. widocznosci (1) if alpha<1 then alpha+=0.1 else { //przeswitywalnosci juz nie ma, zatem skoncz wykonywanie tego skryptu alpha=1; step=2; } } //KROK 2 if step=2 { if leght<string_length(string(text)) then leght += 1; // Mozesz zmienic predkosc "drukowania" testu dodajac inna liczbe do zmiennej leght } //KROK 3 if step=3 { //teraz zwiekszaj przeswitywalnosc az do znikniecia (0) if alpha>0 then alpha-=0.1 else { //przeswituje juz tak ze bardziej nie moze alpha=0; text=''; global.text_get=true;//ustaw, ze mozna juz pobierac tekst step=0; } } } } Draw vx=view_xview[0]; vy=view_yview[0]; // ^^ dodatkowe zabezpieczenie gdybysmy wlaczyli viewy, jak nie ma wloczonych //i tak dziala jak nalezy //teraz malujemy tlo tekstu draw_set_alpha(alpha/2); draw_set_color(c_gray); draw_rectangle(vx+10,vy+550,vx+1000,vy+460,false); //teraz malujemy obwodke draw_set_alpha(alpha); draw_set_color(c_black); draw_rectangle(vx+10,vy+550,vx+1000,vy+460,true); //draw_rectangle(vx+10,vy+550,vx+1895,vy+460,true); //a teraz tekst, za pomoca draw_text_ext, zeby nie wyjechal poza prawa strone draw_set_color(c_black); draw_set_font(font_text); draw_set_halign(fa_left); draw_set_valign(fa_top); draw_text_ext(vx+12,vy+586-20-100-2,string_copy(string(text),1,round(leght)),-1,596); draw_set_alpha(1); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Czerwca 2019 Administratorzy Udostępnij Opublikowano 25 Czerwca 2019 Użyj draw gui, wymuś rozmiar i ustaw offset. Będzie wtedy na środku. https://www.yoyogames.com/blog/65/the-basics-of-scaling-the-gui-layer Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 25 Czerwca 2019 Autor Udostępnij Opublikowano 25 Czerwca 2019 Kurcze..źle pytanie sprecyzowałem. Draw gui ustawi mi textbox na środku ekranu,a ja chce taki efekt uzyskać jak niżej na obrazku 1 obrazek 1 1024x600 - chce żeby ten textbox był na dole ekranu tak jak na tej rozdzielczości i bez względu czy ustawie rozdzielczość 1024x600 czy wyższą https://drive.google.com/open?id=1y4aiN-GNA3jEJIOnbCv5Q2m9fzD9b2CB obrazek 2 1280x720 - tu jest na tej rozdzielczości źle..textbox mój znajduje się już wyżej na ekranie https://drive.google.com/open?id=1CUJwNXVHpfCZpWtfTFU-Fd6fI5itzq0X Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 25 Czerwca 2019 Udostępnij Opublikowano 25 Czerwca 2019 Albo użyj funkcji display_set_gui_size i ustaw tam stałą wartości dla np. 1024x600, albo zamiast na stałe ustawiać pozycję jak np. draw_rectangle(30, 400, 994, 570, false) to przelicz pozycję od ramek ekranu, np. używając display_get_gui_width i display_get_gui_height, coś takiego: var w = display_get_gui_width(); var h = display_get_gui_height(); var x1 = 30; var y1 = h - 230; var x2 = w - 30; var y2 = h - 30; draw_rectangle(x1, y1, x2, y2, false); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 26 Czerwca 2019 Autor Udostępnij Opublikowano 26 Czerwca 2019 Próbowałem użyć funkcji display_set_gui_size(); w evencie draw gui w obj_textbox wpisałem wartości display_set_gui_size(600, 1024); ale kiedy pojawia mi się plansza pierwsza gry,to mam bardzo duży pasek HUD i jest bardzo rozciągnięty. Pasek HUD musi być w draw_gui bo cały czas występuje w grze. Użyłem też w evencie draw obj_textbox drugiego rozwiązania,ustawiłem pozycję ramki od ekranu no i sytuacja jest taka,że jak jest plansza już z textboxem to na planszy intro o wymiarach 1024x600 prostokąt jest pod tesktem:/, A na kolejnej planszy już grze o stałych wymiarach 1280x720 to prostokąt textboxa jest w podobnym położeniu co wyżej na screenie pokazałem w draw obj_textbox mam tak vx=view_xview[0]; vy=view_yview[0]; var w = display_get_gui_width(); var h = display_get_gui_height(); var x1 = 10; var y1 = h - 550; var x2 = w - 1000; var y2 = h - 460; //teraz malujemy tlo tekstu draw_set_alpha(alpha/2); draw_set_color(c_gray); draw_rectangle(x1, y1, x2, y2, false); var w = display_get_gui_width(); var h = display_get_gui_height(); var x1 = 10; var y1 = h - 550; var x2 = w - 1000; var y2 = h - 460; //teraz malujemy obwodke draw_set_alpha(alpha); draw_set_color(c_black); draw_rectangle(x1, y1, x2, y2, true); //a teraz tekst, za pomoca draw_text_ext, zeby nie wyjechal poza prawa strone draw_set_color(c_black); draw_set_font(font_text); draw_set_halign(fa_left); draw_set_valign(fa_top); draw_text_ext(vx+12,vy+586-20-100-2,string_copy(string(text),1,round(leght)),-1,596); draw_set_alpha(1); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 26 Czerwca 2019 Administratorzy Udostępnij Opublikowano 26 Czerwca 2019 Ale co jest złego w tym, żeby GUI zawsze ustawić na jakiś tam rozmiar i skalować oraz offsetować ? Wtedy zawsze będzie na środku jak chcesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 26 Czerwca 2019 Autor Udostępnij Opublikowano 26 Czerwca 2019 Rozumiem,że masz na myśli GUI teraz paska HUD hmmm..ale to może bałaganu narobić Mi.. pasek hud jest w obj_game_controler który jest obiektem persistent obj_game_controler draw GUI /// Wyswietlamy HUD gracza //draw_sprite(spr_glowny_hud,1,383,100); draw_set_color(c_white); draw_sprite(spr_mniejszy_hud,1,50,64); //draw_text(39, 68, string(" Score: " + string(global.pScore))); var __guiW = display_get_gui_width(), __guiH = display_get_gui_height(); //draw_sprite(spr_healthbar,0,60,20); //draw_sprite(spr_hp_bar,0,120,20); //punkty czyli score wysrodkowalem to na HUD draw_set_color(c_white); draw_set_valign(fa_middle); draw_set_halign(fa_center); draw_set_font(fn_punkty); draw_sprite(spr_score,1,310,30); draw_text(310,75,"$"+string(global.pScore)); // Zegarki rozmieszczenie spritow i liczb draw_set_color(c_white); draw_set_valign(fa_middle); draw_set_halign(fa_center); draw_set_font(fn_punkty); draw_sprite(spr_watch,1,500,30); draw_text(480, 75," "+string(global.watch)+" / 5"); // Rozmieszenie monet draw_set_color(c_white); draw_set_valign(fa_middle); draw_set_halign(fa_center); draw_set_font(fn_punkty); draw_sprite(spr_coins,1,400,30); draw_text(400, 75, string(" " + string(global.coins))); //HP HUD if instance_exists(par_player) { //hpHUD = lerp(hpHUD,par_player.hp,.5); hpHUD=global.hp; maxHpHUD = par_player.maxHp; //HUD dopalaczy 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); } //HUD zycia //draw_sprite_part(spr_hp_bar,1,32,0,91/maxHpHUD*hpHUD,32,34,4); draw_sprite_part(spr_hp_bar,1,1,0,180/maxHpHUD*hpHUD,130,90,14); draw_set_color(c_white); draw_set_valign(fa_middle); draw_set_halign(fa_center); draw_set_font(fn_punkty); draw_text(70, 74, string("x" + string(global.life))); //rozmieszczenie wskaznika zyc draw_sprite(spr_glowa,1,40,1); //sprite glowy anatola przy pasku zycia //draw_sprite(spr_serduszko,1,160,74); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 26 Czerwca 2019 Administratorzy Udostępnij Opublikowano 26 Czerwca 2019 Nie musisz nic kodu rysowanie zmienić. Użyj: display_set_gui_size(1024, 768); czy jak tam chcesz a potem var _w_percentage = display_get_height()/768 * (1024/768); display_set_gui_maximise( _w_percentage, display_get_height()/768, ( 1024*_w_percentage - display_get_gui_width()) / 2, 0); i powinno załatwić sprawę. To wyżej przeskaluje GUI do obecnego rozmiary ekranu utrzymując proporcje i przesunie o tyle pikseli w lewo ile wynosi różnica między rozmiarami. Jakoś tak to będzie, proporcje piszę z głowy teraz - ale w tym artykule który podlinkowałem było to opisane, niepotrzebnie szukasz problemu gdzie indziej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 26 Czerwca 2019 Autor Udostępnij Opublikowano 26 Czerwca 2019 Kurcze w tym musi być problem w wyświetlaniu mam ustawiony widok w obiekcie na mapie gry obj_global_controler Begin Step ///Wyswietlanie widoku okna gry 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_wport[0],view_hport[0]); //wersja podstawowa } Jak go wyłączę to texbox wraz z tekstem zmienia mi położenie Gnysek.. tak też zrobiłem dałem w evencie draw Gui display_set_gui_size(1024, 768); var _w_percentage = display_get_height()/768 * (1024/768); display_set_gui_maximise( _w_percentage, display_get_height()/768, ( 1024*_w_percentage - display_get_gui_width()) / 2, 0); To mi wyśrodkowało centralnie na górze ekranie pasek HUD,który powinien być jak zawsze jest w lewym górnym rogu. Mi kurcze nie chodzi o centrowanie obrazu... Ja chce uzyskać taki efekt: napisze prościej bo mnie chyba nie rozumiecie. Stworzyłem sobie opcje zmiany rozdzielczości; 1.Rozdzielczość 1024x600 2.Rozdzielczość 1024x768 3.Rozdzielczość 1280x720 I chciałbym uzyskać taki efekt,że jak zmienię na jakąkolwiek inną rozdzielczość ekranu grę,to textbox który był na dole przy rozdzielczości 1024x600 to też chce żeby tam się znajdował. Nie mam być wycentrowany na środku ekranu tylko ma być na dole ekranu jak na tym obrazku na każdej z tych rozdzielczości: tak jak tu: 1024x600 https://drive.google.com/file/d/1y4aiN-GNA3jEJIOnbCv5Q2m9fzD9b2CB/view Tak samo chce żeby się w tym samym miejscu znajdował w rozdzielczości 1024x768 i 1280x720 właśnie o to mi chodzi.. Nie wiem jak to nazwać skalowanie obrazu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 26 Czerwca 2019 Administratorzy Udostępnij Opublikowano 26 Czerwca 2019 ok, no to nie zostaje nic innego, jak rysować textbox od środka gry czyli np. na tej zasadzie (pseudokod). var _x = view_width/2; var _y = view_height; draw_rectangle(_x -100, _y - 50, _x + 100, _y + 100); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 27 Czerwca 2019 Autor Udostępnij Opublikowano 27 Czerwca 2019 Przepraszam chłopaki,że was męczę w tej sprawie... Kombinowałem różnych rozwiązań,ale jednak zmienia swoje położenie,więc zrezygnowałem z tych rozwiązań:/ Nie pomogło wymusić stałego położenia textboxa,bo przy zmianie rozdzielczości to i tak zmienia swoje położenie i zmniejsza się przy wyższej rozdzielczości. Idealnie jest na rozdzielczości 1024x768 natomiast na 1280x720 jest mniejszy i jest w złym miejscu. Ja rozumiem,że wyższa rozdzielczość powoduje to,że ten obiekt się zmniejsza i zmienia swoje położenie,ale jak to rozwiązać,żeby się rozciągnął/dopasował i zajął takie same lub zbliżone położenie jak na rozdzielczości 1024x768 Tak jak na obrazku poniżej..tak to wygląda jak zmienię rozdzielczość z 1024x768 na 1280x720 to textbox zmniejsza się i położenie jego jest w innym miejscu niż na rozdzielczości 1024x768 próbowałem też tego rozwiązania w evencie draw w obj_text przykład var _x = view_width/2; var _y = view_height; draw_rectangle(_x -100, _y - 50, _x + 100, _y + 100); ale nie rozpoznaje mi tej funkcji view_width i view_height Nie powinno być? window_get_width() i window_get_height() ? obj_text DRAW ///zostawilem rozwiazanie jak bylo na poczatku vx=view_xview[0]; vy=view_yview[0]; // ^^ dodatkowe zabezpieczenie gdybysmy wlaczyli viewy, jak nie ma wloczonych //i tak dziala jak nalezy //teraz malujemy tlo tekstu draw_set_alpha(alpha/2); draw_set_color(c_gray); draw_rectangle(vx+10,vy+550,vx+1000,vy+460,false); //teraz malujemy obwodke draw_set_alpha(alpha); draw_set_color(c_black); draw_rectangle(vx+10,vy+550,vx+1000,vy+460,true); //draw_rectangle(vx+10,vy+550,vx+1895,vy+460,true); //a teraz tekst, za pomoca draw_text_ext, zeby nie wyjechal poza prawa strone draw_set_color(c_black); draw_set_font(font_text); draw_set_halign(fa_left); draw_set_valign(fa_top); draw_text_ext(vx+12,vy+586-20-100-2,string_copy(string(text),1,round(leght)),-1,596); draw_set_alpha(1); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 27 Czerwca 2019 Administratorzy Udostępnij Opublikowano 27 Czerwca 2019 A widziałeś w moim poście słowo pseudokod ??? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 27 Czerwca 2019 Autor Udostępnij Opublikowano 27 Czerwca 2019 Tak Gnysku widziałem...napisałeś pseudokod...zgadza się dlatego zapytałem się,czy nie powinno być użyte window_get_width() i window_get_height()? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SimianVirus7 Opublikowano 27 Czerwca 2019 Udostępnij Opublikowano 27 Czerwca 2019 Nie wiem jak operujesz rozdzielczością, ale może spróbuj tak: draw_rectangle(view_xview + 200, (view_yview + view_hview) - 400, (view_xview + view_wview) - 200, (view_yview + view_hview) - 100, false); albo draw_rectangle(view_xview + 200, (view_yview + view_hport) - 400, (view_xview + view_wport) - 200, (view_yview + view_hport) - 100, false); Napisałem z pamięci, nie testowałem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 27 Czerwca 2019 Administratorzy Udostępnij Opublikowano 27 Czerwca 2019 52 minuty temu, pankracy napisał: Tak Gnysku widziałem...napisałeś pseudokod...zgadza się dlatego zapytałem się,czy nie powinno być użyte window_get_width() i window_get_height()? Jeżeli view ma inny rozmiar niż okno to nie, wtedy view_wview[0] i view_hview[0]. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 27 Czerwca 2019 Autor Udostępnij Opublikowano 27 Czerwca 2019 Dobra textbox jest już idealnie ustawiony..dzięki chłopaki..za pomoc zwłaszcza dla SimianVirus7:-) Jeszcze tylko tekstem jest problem z textboxa bo zmienia mi pozycje jak zmienię rozdzielczość z 1024x768 na 1280x720 to wtedy tekst jest nad textboxem,a nie w textboxie na rozdzielczości 1024x768 jest dobrze tekst usytuowany bo w textboxie,a na 1280x720 jest nad textboxem. Ostatecznie tak to wygląda Obj_text Draw ///ustawienie i narysowanie textboxa na planszy // ^^ dodatkowe zabezpieczenie gdybysmy wlaczyli viewy, jak nie ma wloczonych //i tak dziala jak nalezy vx=view_xview[0]; vy=view_yview[0]; //teraz malujemy tlo tekstu draw_set_alpha(alpha/2); draw_set_color(c_gray); draw_rectangle(view_xview + 10, (view_yview + view_hview) - 120, (view_xview + view_wview) - 10, (view_yview + view_hview) - 30, false); //teraz malujemy obwodke draw_set_alpha(alpha); draw_set_color(c_black); draw_rectangle(view_xview + 10, (view_yview + view_hview) - 120, (view_xview + view_wview) - 10, (view_yview + view_hview) - 30, true); //draw_rectangle(vx+10,vy+550,vx+1895,vy+460,true); //a teraz tekst, za pomoca draw_text_ext, zeby nie wyjechal poza prawa strone draw_set_color(c_black); draw_set_font(font_text); draw_set_halign(fa_left); draw_set_valign(fa_top); draw_text_ext(vx+12,vy+586-20-100-2,string_copy(string(text),1,round(leght)),-1,596); draw_set_alpha(1); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 27 Czerwca 2019 Udostępnij Opublikowano 27 Czerwca 2019 No bo jak ma Ci to działać, skoro tekst dalej rysujesz w ten sam sposób? Nic z tym nie zrobiłeś to się nie dziw, że Ci nie działa W linii: draw_text_ext(vx+12,vy+586-20-100-2,string_copy(string(text),1,round(leght)),-1,596); Popraw pozycjonowanie tekstu razem z ramką. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 27 Czerwca 2019 Autor Udostępnij Opublikowano 27 Czerwca 2019 Konradzie;-) ja wiem,że mam problem z draw_text_ext tylko,że jak zmienię położenie tekstu i dopasuje go do rozdzielczości 1280x720 to wtedy Jego położenie na rozdzielczości 1024x768 będzie w innym miejscu.. A tekst ten ma być przecież w tym samym miejscu zarówno dla 1024x768 jak jest obecnie i dla 1280x720;-) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 27 Czerwca 2019 Udostępnij Opublikowano 27 Czerwca 2019 Zauważ, że ten kod: draw_rectangle(view_xview + 10, (view_yview + view_hview) - 120, (view_xview + view_wview) - 10, (view_yview + view_hview) - 30, false); A ten kod: draw_text_ext(vx+12,vy+586-20-100-2,string_copy(string(text),1,round(leght)),-1,596); Inaczej liczą Ci pozycje, bo drugi kod ma kompletnie gdzieś wysokość i szerokość ekranu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 27 Czerwca 2019 Autor Udostępnij Opublikowano 27 Czerwca 2019 Ale jednak trzyma się tej pozycji dla rozdzielczości 1024x768 i jest w boksie.. testowałem i jest na innej pozycji jak zmienie rozdzielczość na 1280x720 obrazek to ilustruje: rozdzielczość 1024x768 i rozdzielczość 1280x720 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 27 Czerwca 2019 Udostępnij Opublikowano 27 Czerwca 2019 Ale to nie ma żadnego znaczenia, skoro tylko obsługuje Ci jeden przypadek. Musisz też obliczyć pozycję tekstu od wysokości ekranu, a nie od górnej jego krawędzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 27 Czerwca 2019 Administratorzy Udostępnij Opublikowano 27 Czerwca 2019 W ogóle nie zastanawiasz sie co podajesz jako argumenty w funkcjach. Popatrz, jak rysujesz prostokąta, a gdzie potem próbujesz rysować tekst. Musisz go rysować tak samo, jak górną część prostokąta plus ewentualnie jakiś offset (np +5 pikseli). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 27 Czerwca 2019 Autor Udostępnij Opublikowano 27 Czerwca 2019 Tu jest rysowany prostokąt I ma stała pozycję na ekranie. draw_rectangle(view_xview + 10, (view_yview + view_hview) - 120, (view_xview + view_wview) - 10, (view_yview + view_hview) - 30, false); Tu zmieniam wartości,ale jak mowie tekst mi zmienia położenie.. Zmieniłem vx zmieniłem vy Zmieniłem tą wartość 586-20-100-2 i tą -1,596 i jak mówię...tekst jest zupełnie w innym miejscu draw_text_ext(vx+12,vy+586-20-100-2,string_copy(string(text),1,round(leght)),-1,596); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 27 Czerwca 2019 Udostępnij Opublikowano 27 Czerwca 2019 draw_rectangle(view_xview + 10, (view_yview + view_hview) - 120, (view_xview + view_wview) - 10, (view_yview + view_hview) - 30, false); Rozłóżmy tę funkcję na parametry: view_xview + 10 to parametr liczący nam od lewej krawędzi ekranu + 10 pikseli (view_yview + view_hview) - 120 ten parametr liczy nam już od dolnej krawędzi ekranu - 120px (view_xview + view_wview) - 10 ten parametr teraz liczy nam od prawej krawędzi ekranu - 10px (view_yview + view_hview) - 30 a ten parametr już liczy nam ponownie od dolnej krawędzi ekranu - 30px false po prostu rysuje nam pełny prostokąt A teraz funkcję na rysowanie tekstu: draw_text_ext(vx+12,vy+586-20-100-2,string_copy(string(text),1,round(leght)),-1,596); Rozbijemy na: vx+12 liczymy pozycję tekstu od lewej krawędzi ekranu + 12px vy+586-20-100-2 liczymy pozycję tekstu od górnej krawędzi ekranu + 586px - 20px - 100px - 2px, w skrócie + 464px string_copy(string(text),1,round(leght)) zapewne kasujesz nadmiar tekstu, nie wiem ale to nie wpływa na pozycję tekstu a jego długość -1 odległości pomiędzy liniami w pikselach 596 przesunięcie tekstu do następnej linii gdy przekroczy ono tę długość Teraz przyjrzyj się parametrom i zauważ, że liczysz pozycję tekstu od górnej krawędzi ekranu, a nie powinieneś tego robić, policz pozycję od dolnej krawędzi ekranu jak w pierwszym przypadku. Poczekaj aż będzie Ci przełamywać tekst w ramce za wcześnie, to dopiero mind fcuk. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 27 Czerwca 2019 Autor Udostępnij Opublikowano 27 Czerwca 2019 Czyli od dolnej krawędzi mam liczyć pozycje tekstu jak opisałeś (view_yview + view_hview) - 120 ten parametr liczy nam już od dolnej krawędzi ekranu - 120px vy+586-20-100-2 - te parametry zmieniłem rozbijając 120px na cztery rozumiem tak? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 27 Czerwca 2019 Autor Udostępnij Opublikowano 27 Czerwca 2019 Czekajcie..tak chyba musi być;-) draw_text_ext(vx+12,(view_yview + view_hview)- 30-20-100-2,string_copy(string(text),1,round(leght)),-1,596); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 27 Czerwca 2019 Udostępnij Opublikowano 27 Czerwca 2019 A może wystarczy vy + view_hview - 120 + 5 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 27 Czerwca 2019 Autor Udostępnij Opublikowano 27 Czerwca 2019 Bingo chłopaki;D Bardzo dziękuje Konrad za pomoc;D Gnysku Tobie też mimo,że krzyczysz;-) ale dobre chłopisko z Ciebie;-) Już ustawiłem;-) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 27 Czerwca 2019 Autor Udostępnij Opublikowano 27 Czerwca 2019 Mam tak:-) draw_text_ext(vx+12,(view_yview + view_hview)- 1-15-100-2,string_copy(string(text),1,round(leght)),-1,596); tekst jest w boksie nie zależnie od rozdzielczości...jeszcze raz dzięki chłopaki Konrad Tobie tym bardziej za naprowadzenie mnie błędnego rycerza na trop;-) 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ę