Witamy na GTAOnline Obecny czas to 2019-01-21, 17:20 Użytkowników: 77489
Strona główna | Użytkownicy | Grupy | Faq | Regulamin | Zaloguj


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

boszboszek 
HEY





Informacje
Nick w MP: boszboszek
Wiek: 18
Na forum: 815 dni
Posty: 137
Piwa: 1267
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





Informacje
Nick w MP: Pevo
Wiek: 7
Na forum: 899 dni
Posty: 335
Piwa: 378
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...





Informacje
Wiek: 16
Na forum: 961 dni
Posty: 1411
Piwa: 3008
Respekt: 363,5
Respekt: 363,5Respekt: 363,5Respekt: 363,5Respekt: 363,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 





Informacje
Nick w MP: OchIAch
Wiek: 19
Na forum: 423 dni
Posty: 152
Piwa: 504
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 





Informacje
Nick w MP: ST4GE
Wiek: 15
Na forum: 194 dni
Posty: 143
Piwa: 68
Respekt: 66,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





Informacje
Nick w MP: EZ3N
Wiek: 16
Na forum: 1269 dni
Posty: 296
Piwa: 3187
Respekt: 80,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





Informacje
Nick w MP: boszboszek
Wiek: 18
Na forum: 815 dni
Posty: 137
Piwa: 1267
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 





Informacje
Wiek: 20
Na forum: 1396 dni
Posty: 281
Piwa: 849
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 





Informacje
Nick w MP: Piorun
Wiek: 25
Na forum: 4021 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 





Informacje
Wiek: 20
Na forum: 1396 dni
Posty: 281
Piwa: 849
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





Informacje
Nick w MP: Vruzzi
Wiek: 13
Na forum: 179 dni
Posty: 26
Piwa: 2
Respekt: 50

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



przydał by się poradnik bardziej dla zielonych

_________________
discord:Vruzzi#8547
Własna Strona:RealLife.svpj.pl
Własny Project:RealLife
Postaw piwo autorowi tego posta
 

boszboszek 
HEY





Informacje
Nick w MP: boszboszek
Wiek: 18
Na forum: 815 dni
Posty: 137
Piwa: 1267
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::..





Informacje
Nick w MP: NexBoy
Wiek: 18
Na forum: 1177 dni
Posty: 140
Piwa: 5327
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





Informacje
Nick w MP: Zbigniewqq
Wiek: 16
Na forum: 400 dni
Posty: 113
Piwa: 172
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%
---




100 :piwo: - 28.12.2018r.

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



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


Anonymous Koniecznie zajrzyj na:








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,23 sekundy. Zapytań do SQL: 18