Witamy na GTAOnline Obecny czas to 2019-02-22, 05:30 Użytkowników: 77913
Strona główna | Użytkownicy | Grupy | Faq | Regulamin | Zaloguj


Poprzedni temat :: Następny temat
Skalownie odśrodkowe.
Autor Wiadomość

boszboszek 
HEY





Nick w MP: boszboszek
Wiek: 18
Na forum: 846 dni
Posty: 143
Piwa: 1353
Respekt: 111
Respekt: 111

Wysłany: 2018-08-13, 18:15   Skalownie odśrodkowe.



Witam,
chciałbym nauczyć wielu "skrypterów" skalowania odśrodkowego. Bo jak patrze na niektórych skalowanie, to łapie się za głowę. Jedynym minusem tego skalowania jest wymóg posiadania monitora full hd.

Jeżeli chcemy wyskalować cokolwiek - musimy pobrać rozdzielczość ekranu gracza.

local sxsy guiGetScreenSize() -- zwraca nam oś X i oś Ynp1920 1080



Następnie tworzymy zmienną, która będzie dzieliła naszą oś X(1920) na oś X clienta.

zmienna 1920/sx


Czyli jak skalujemy w full hd to zmienna będzie równa 1 - wynika to z prostego obliczenia (1920/1920 = 1)

Musimy nauczyć się też pozycjonować interfejs:

Od prawej do środka:
sx wartosc/zmienna


Od lewej do środka:
wartosc/zmienna


Środek:
sx/wartosc/zmienna


Od góry do środka:
wartosc/zmienna


Od dołu do środka:
sy wartosc/zmienna


Środek:
sy/wartosc/zmienna


Pamiętajcie też, że jeżeli chcecie wyskalować obrazek w dobrej jakości to powiększenie jego musi być proporcjonalne tzn. IMG jest w wymiarach 300x300, jeżeli chcemy go poszerzyć dwukrotnie - musimy też tak samo powiększyć drugą wartość, np. 600x600. Wtedy jest mała utrata jakości.

Ułatwiona funkcja do skalowania interfejsu stworzona przeze mnie.

local sxsy guiGetScreenSize()
local zoom 1920/sx

function scaleX(typevalue)
    if type == 'center' then
        return math.floor(sx/value/zoom)
    elseif type == 'left' then
        return math.floor(sx value/zoom)
    elseif type == 'right' then
        return math.floor(value/zoom)
    end
end

function scaleY(typevalue)
    if type == 'center' then
        return math.floor(sy/value/zoom)
    elseif type == 'top' then
        return math.floor(value/zoom)
    elseif type == 'down' then
        return math.floor(sy value/zoom)
    end
end

function scaleImage(value)
    return math.floor(value/zoom)
end


Mam nadzieję, że Wam pomogłem - jeżeli są jakieś błędy, to proszę o poprawienie mnie. Z góry dziękuje :D

Ostatnio zmieniony przez boszboszek 2018-12-10, 23:15, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 
Więcej szczegółów
Wystawiono 2 piw(a):
BialyDran, Zbigniewqq

Pevo 
Ja wiem lepiej





Nick w MP: Pevo
Wiek: 7
Na forum: 930 dni
Posty: 361
Piwa: 388
Respekt: 325,8
Respekt: 325,8Respekt: 325,8Respekt: 325,8

Wysłany: 2018-08-13, 18:20   



Bardzo dobry i wartościowy poradnik. Wszystko pięknie rozpisane :D

_________________
Discord: Pevo#3511
GG: 64700204
Usługi programistyczne: http://gtao.pl/<font-c...ne-vt125761.htm
Paczka RPG: http://gtao.pl/<font-c...rl-vt119413.htm
Postaw piwo autorowi tego posta
 

Kalizman 
Coś napewno...





Wiek: 16
Na forum: 992 dni
Posty: 1413
Piwa: 3076
Respekt: 373,5
Respekt: 373,5Respekt: 373,5Respekt: 373,5Respekt: 373,5

Wysłany: 2018-08-13, 20:35   



polecałbym dodać na sam koniec poradnika całe skalowanie i jakiś przykład (niekoniecznie)

_________________

Sprzedam gamemode RPG na platformę MTA:SA za niską cenę:
http://www.gtao.pl/%3Cfont-colorlime%3Esprzedam%3C-font%3E-gm-mta-country-rpg-vt126606.htm

Postaw piwo autorowi tego posta
 

OchIAch 





Nick w MP: OchIAch
Wiek: 19
Na forum: 455 dni
Posty: 152
Piwa: 553
Respekt: 105,3
Respekt: 105,3

Wysłany: 2018-08-27, 15:09   



Średnio zrozumiałe. Dasz jakiś przykład? Zamiast np. zmienna/wartość co mam wpisać?

_________________
Postaw piwo autorowi tego posta
 

ST4GE 





Nick w MP: ST4GE
Wiek: 15
Na forum: 226 dni
Posty: 169
Piwa: 76
Respekt: 76,3

Wysłany: 2018-08-28, 17:30   



"OchIAch" napisał/a:

Średnio zrozumiałe. Dasz jakiś przykład? Zamiast np. zmienna/wartość co mam wpisać?


Jak to co masz wpisać? Zmienna to zmienna i definiujesz jej nazwę według siebie...

Postaw piwo autorowi tego posta
 

DomineQ 
Amator LUA





Nick w MP: EZ3N
Wiek: 16
Na forum: 1301 dni
Posty: 305
Piwa: 3367
Respekt: 90,5

Wysłany: 2018-10-01, 17:53   



Czyli rozumiem to tak, że jeżeli chcę wyskalować obrazek, żeby nie tracił jakości, to jeżeli jego wymiary to 300x300 np, to muszę go powiększyć x2?

Chodzi mi czy to powinno tak wyglądać:


sx/zmiennasy/zmienna600/zmienna600/zmienna


_________________
Postaw piwo autorowi tego posta
 

boszboszek 
HEY





Nick w MP: boszboszek
Wiek: 18
Na forum: 846 dni
Posty: 143
Piwa: 1353
Respekt: 111
Respekt: 111

Wysłany: 2018-10-04, 15:00   



"DomineQ" napisał/a:

Czyli rozumiem to tak, że jeżeli chcę wyskalować obrazek, żeby nie tracił jakości, to jeżeli jego wymiary to 300x300 np, to muszę go powiększyć x2?

Chodzi mi czy to powinno tak wyglądać:


sx/zmiennasy/zmienna600/zmienna600/zmienna


Dokładnie o to chodziło, lecz pamiętaj abyś powiększał obraz z umiarem, ponieważ jest to grafika rastrowa, a nie wektorowa.

[ Dodano: 2018-11-20, 18:27 ]
Stworzyłem nową funkcje, zapraszam ^^

Postaw piwo autorowi tego posta
 

Vxen 





Wiek: 20
Na forum: 1427 dni
Posty: 281
Piwa: 854
Respekt: 130,5
Respekt: 130,5

Wysłany: 2018-11-23, 09:09   



Może ktoś dać jakieś skalowanie przykładowe jakiegoś obrazka 215/215px.

Postaw piwo autorowi tego posta
 

Piorun 





Nick w MP: Piorun
Wiek: 25
Na forum: 4053 dni
Posty: 1842
Piwa: 495
Respekt: 480,7
Respekt: 480,7

Wysłany: 2018-11-23, 12:00   



Złota zasada skalowania: nie skaluj.

_________________
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

Vxen 





Wiek: 20
Na forum: 1427 dni
Posty: 281
Piwa: 854
Respekt: 130,5
Respekt: 130,5

Wysłany: 2018-12-07, 22:37   



Może ktoś dać przykład na dxDrawRectangle

Postaw piwo autorowi tego posta
 

Vruzzi 
Pomocnik W serwerach





Nick w MP: Vruzzi
Wiek: 13
Na forum: 210 dni
Posty: 30
Respekt: 50

Wysłany: 2018-12-08, 19:22   



przydał by się poradnik bardziej dla zielonych

_________________
KOZAK GAMER ZEMNIE NIE?
Postaw piwo autorowi tego posta
 

boszboszek 
HEY





Nick w MP: boszboszek
Wiek: 18
Na forum: 846 dni
Posty: 143
Piwa: 1353
Respekt: 111
Respekt: 111

Wysłany: 2018-12-10, 23:17   



"Vruzzi" napisał/a:

przydał by się poradnik bardziej dla zielonych


W bardziej ziemski sposób nie mogłem tego wytłumaczyć :(

Postaw piwo autorowi tego posta
 

ZZiomek 
..::LUA::..





Nick w MP: NexBoy
Wiek: 18
Na forum: 1208 dni
Posty: 140
Piwa: 5425
Respekt: 155,3
Respekt: 155,3Respekt: 155,3

Wysłany: 2019-01-04, 23:04   



boszboszek,
dxDrawRectangle(scaleX(center100), scaleY(center100), scaleX(center50), scaleY(center50), tocolor(000220))


W taki sposób ma to być zrobione?

Lub też w taki?

dxDrawRectangle(sx/305/zoomsy/250/zoomsx/350/zoomsy/50/zoomtocolor(000220))


_________________

Kontakt Skype: live:ktylka8
Discord: NexBoy#1831

Postaw piwo autorowi tego posta
 

Zbigniewqq 
Szkrypter Luła





Nick w MP: Zbigniewqq
Wiek: 16
Na forum: 431 dni
Posty: 118
Piwa: 334
Respekt: 80,5

Wysłany: 2019-01-13, 16:19   



Wszystko bardzo ładnie wytłumaczone (że nawet zielony by zrozumiał xD )
Oraz bardzo dobre skalowanie :D !
Zostawiam zimne :piwo:

_________________
Aktualny Projekt:

---
Grand Project
Sloty: XXX/XXX
Stan: 55%
Discord: KLIK
---




100 :piwo: - 28.12.2018r.
200 :piwo: - 24.01.2019r.
300 :piwo: - 01.02.2019r.
Support-Team - 03.02.2019r.

Postaw piwo autorowi tego posta
 
Tagi: skalownie :: odśrodkowe.
Anonymous



Dołaczył: Wczoraj 0:00
Posty: 1
Skad: google.com


Anonymous Koniecznie zajrzyj na:



www.assistant-life.pl







Wyświetl posty z ostatnich:   
Odpowiedz do tematu
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
Wersja do druku

Skocz do:  


phpBB by Przemo modified by xXx 2003-2016

Template GTAONLINE created by gtaonline.pl



Strona wygenerowana w 0,24 sekundy. Zapytań do SQL: 18