Witamy na GTAOnline Obecny czas to 2018-11-22, 12:05 Użytkowników: 76767
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: 754 dni
Posty: 133
Piwa: 1130
Respekt: 105,8
Respekt: 105,8

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/zmiennasy wartosc/zmiennawidth/zmiennaheight/zmienna


Od lewej do środka:
wartosc/zmiennasy wartosc/zmiennawidth/zmiennaheight/zmienna


Środek:
sx/wartosc/zmiennasy wartosc/zmiennawidth/zmienanheight/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-11-20, 18:25, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
Więcej szczegółów
Wystawiono 1 piw(a):
BialyDran

Pevo 
Ja wiem lepiej





Informacje
Nick w MP: Pevo
Wiek: 7
Na forum: 839 dni
Posty: 329
Piwa: 347
Respekt: 315,8
Respekt: 315,8Respekt: 315,8Respekt: 315,8

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



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

_________________
Discord: Pevo#3511
GG: 64700204
Moja strona: W budowie
Postaw piwo autorowi tego posta
 

Kalizman 





Informacje
Wiek: 16
Na forum: 900 dni
Posty: 1364
Piwa: 2862
Respekt: 333,5
Respekt: 333,5Respekt: 333,5Respekt: 333,5

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



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

_________________

Support-Team: 09.09.2018-29.10.2018r

Postaw piwo autorowi tego posta
 

OchIAch 





Informacje
Nick w MP: OchIAch
Wiek: 19
Na forum: 363 dni
Posty: 157
Piwa: 436
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: nichos
Wiek: 15
Na forum: 134 dni
Posty: 90
Piwa: 59
Respekt: 61

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: 1209 dni
Posty: 302
Piwa: 3294
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: 754 dni
Posty: 133
Piwa: 1130
Respekt: 105,8
Respekt: 105,8

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