Witam!
Pewnie jak wiecie od jakiego? czasu w wolnych chwilach pisz? poradniki od podstaw po ci??sze tematy. Zastanawia?em si? nad now? "seri?" poradnik?w, generalnie "Matematyka w lua" oraz "Fizyka w lua" - Poradniki te polega? b?d? na rzeczach typowo matematycznych czy te? fizycznych a ma na celu to u?atwi? zrozumienie funkcji matematycznych czy te? fizycznych z cz??ci czwartej poradnik?w "Lua kurs lekcja". Aby sprawdzi? czy to ma jakikolwiek sens robienia poruszymy dzi? jeden temat, matematyka a konkretnie skalowanie element?w gui czy te? dxDraw (nie jest to traktowane jako element, aczkolwiek pozwol? sobie to tak nazwa?.) Je?li nie zwr?ci to zbytnio uwagi no to nast?pnych cz??ci nie b?dzie i tyle. Dajcie zna? czy ma to sens i czy tworzy? to dalej.
Wprowadzenie
Nie przed?u?aj?c, jak wiadomo mamy do dyspozycji bardzo dobry "guieditor", za pomoc? kt?rego mo?emy wiele pro?ciej tworzy? nasze gui ni? mieliby?my robi? to r?cznie. ?w guieditor ma opcj? skalowania "relative" czyli relatywnego, aby by?o to pod ka?d? rozdzielczo??. Jak wiadomo w przypadku element?w gui dzia?a to prawie, ?e doskonale, aczkolwiek w przypadku dxDraw nie do ko?ca si? to sprawdza. Czasem wyskalowane guieditorem dxDraw wygl?da r??nie na r??nych rozdzielczo?ciach, cho? w praktyce wz?r liczenia jest prawie, ?e identyczny.
Wz?r
Wz?r na skalowanie jest nast?puj?cy:
Gdzie
Czyli w lua zrobimy sobie to np tak
Je?li robili?my gui na rozdzielczo?ci 1024x768 no to takie parametry podajemy, je?li robili?my gui na rozdzielczo?ci np 800x600 to dzielimy przez 800 i 600. Kr?tko m?wi?c, dzielimy rozdzielczo?? gracza przez rozdzielczo?? na kt?rej robili?my gui.
Praktyka, liczymy.
Zrobi?em sobie przyk?adowe rectangle na pozycji 346,580,670,203 - s? to zmy?lone pozycje. Robi?em to powiedzmy na rozdzielczo?ci 1024x768. No to liczymy, obecnie nasz kod wygl?da tak.
Po przeliczeniach
Tak wygl?da nasz kod po przeliczeniach. Podczas tworzenia tego rectangle w editorze robi?em to na rozdzielczo?ci 1024x768 tak wi?c przez tak? dziel? rozdzielczo?? gracza. Wszystko robimy tak samo, elementy CEGUI r?wnie? mo?emy tak skalowa?. Natomiast w przypadku
wypada podzieli? jeszcze skal? tekstu przez szeroko?? (px). Tak wi?c nasz nie wyskalowany tekst
Nie dodaj? pozosta?ych argument?w bo s? one nam nie potrzebne teraz. Skalujemy
No i wyskalowane.
Wa?ne (Pseudo regu?ka) - Zapami?taj!
Jak wiadomo, s? rzeczy o kt?rych musimy pami?ta?.
1. Dzielimy zawsze rozdzielczo?? gracza przez rozdzielczo?? robienia (xgracza/xrobienia), (ygracza/yrobienia) - Nie odwrotnie
Poniewa? wtedy b?d? zupe?nie inne wyniki przez co gui nam si? nie wyskaluje.
2. Mno?ymy parametry przez odpowiednie wyniki. Czyli x*wynikx dzielenia, y*wyniky dzielenia, szerokosc*wynikx dzielenia, wysokosc*wyniky dzielenia.
3. W tekstach wypada mno?y? skal? naszego tekstu. Je?li to robimy to mno?ymy j? przez wynik x dzielenia (px).
4. Najlepiej tworzy? gui na najmniejszej rozdzielczo?ci (640x480) - aczkolwiek Nie jest to konieczne.
Wz?r
Gdzie:
?eby nie by?o jakich? nie jasno?ci ja wszystko dzieli?em przez 1024 i 768 gdy? u?ywam takiej rozdzielczo?ci, Wy dzielicie przez swoj?.
Skalowanie od?rodkowe
Skalowanie od?rodkowe, z tego co mi wiadomo do?? ma?o znany spos?b ale z tego co wiem to jest dobry a nawet podobno najlepszy na mta je?li chodzi o dok?adno??.
Pozycja jest doskonale i idealnie wyskalowana, natomiast rozmiar jest inny i nale?a?oby go r?wnie? skalowa? nie koniecznie ju? od?rodkowo (mo?na u?y? tego normalnego sposobu)
Wz?r na skalowanie od?rodkowe:
Gdzie Przyklad
Dzielimy x,y,w,h przez zoom (zmienna od math.min).
Jak prosi?em, pozostawcie po sobie ?lad czy jest to jakkolwiek przydatne czy mo?e jednak takie duperele powinny znajdowa? si? w "Lua kurs lekcja..." . Chyba wszystko wyt?umaczy?em, w razie jakich? b??d?w prosz? o komentarz to je poprawi?.
A co zrobi?, ?eby poprawnie wy?wietla?o si? na innych proporcjach ekranu (4:3)?
Najpierw robi?em przez zaznaczenie Relative w guieditorze, p??niej przez ten pierwszy wz?r u g?ry, ale i tak na innych proporcjach ni? 16:9 nie wy?wietla si? prawid?owo.
dawid2632, pierwszy spos?b nie dzia?a na fullhd. Relative jest zawsze dobry, chyba ?e dodajesz do niego jak?? warto?? absolutn?, wtedy b?dzie ?le. Skalowanie od?rodkowe dzia?a zawsze w 100 na 100 przypadkach.
Ciekawy poradnik. Mo?na te? doda?, ?e w przypadku w?asnej czcionki skalowanie tekstu nie przyniesie odpowiednich rezultat?w i tekst b?dzie si? rozmazywa?, lepiej wtedy operowa? na samym rozmiarze czcionki.
Bez urazy, ale jestem zdania, ?e je?li kto? nie ma wiedzy na dany temat to nie powinien pr?bowa? dzieli? si? ni? z innymi. Skalowanie relatywne ju? mas? lat na scenie jest klepane.
To nie dzia?a tak, ?e kto? we?mie sobie pozycj? z guieditora, wklepie /zoom i ?miga. Co to jest w og?le za termin xD? Dobrego interfejsu nie zrobi si? w guieditorze. Na scen? ten spos?b wprowadzi? l0nger, nauczy? par? os?b i si? rozesz?o, ale niekt?rzy w og?le nie rozumiej? sensu jak z tego korzysta?.
By cokolwiek skalowa?, najpierw trzeba nauczy? si? pozycjonowa? interfejs.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach