Stara?em si? umie?ci? ka?dy tekst perfekcyjnie w gui, etc. etc., lecz czcionki kt?re s? tworzone w osobnym zasobie nie skaluj? si?, stara?em si? je zeskalowa? lecz bez poprawnego rezultatu
[b]Siemka[/b] u?ytkownicy! Mam problem, pobra?em jeden ze skrypt?w z GTAO, lecz GUI w nim nie jest raczej wyskalowane, gram na 640x480, rozdzielczo?ci z powod?w na wi?kszych drobnych ?cinek, czego nie lubi?.
Siemka! Potrzebuj? wyskalowa? text i gui, po wej?ciu do pojazdu, ?eby na ka?dej rozdzia?ce by?o ?adnie i pi?knie . ?rednio ogarniam skalowanie, wi?c licze na pomoc! Stawiam Repke, za pomoc! I zimnego Harnasia!
Client:
[lua]local salon = {}
local dane = dxCreateFont('f.ttf', 20)
local dane1 = dxCreateFont('f.ttf', 12)
local nawa = dxCreateFont('f1.ttf', 20)
local dane123 = dxCreateFont('f.ttf', 12)
local sw,sh = guiGetScreenSize()
local scale = 1920 / sw
function convertNumber ( number )
local formatted = number
while true do
formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
if ( k==0 ) then
break
end
end
return formatted
end
function mysz ( x, y, width, height )
if ( not isCursorShowing( ) ) then
return false
end
local sx, sy = guiGetScreenSize ( )
local cx, cy = getCursorPosition ( )
local cx, cy = ( cx * sx ), ( cy * sy )
if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then
return true
else
return false
end
end
Czesc mam pytanie czy dgs trzeba skalowac w sensie jezeli zrobie gdzies okno po boku to bedzie ono tak na kazdej rozdzia?ce czy trzeba to jakos wyskalowac? Jezeli tak to jako jest na to najlepszy sposob?
witam bardzo serdecznie i cieplutko na strefie LUA.
Przychodz? do zaci?tych wyjadaczy tego dzia?u z moim problemem.
Potrzebuje pomocy gdy? u?ywam skalowania od?rodkowego i nie wiem jak wyskalowa? ismousein podwalonego z psrpg
za pomoc stawiam piwko i z g?ry m?wi?, ?e nie chc? nic pobiera? poprzez program graficzny kt?rego u?ywam tylko chcia?bym to zrobi? poprzez guieditor! z g?ry dzi?ki
Siemka, robi? HUD na serwerze i w?a?nie go skaluje, ale mam problem z tekstem o ile grafik? wiem jak skalowa? od?rodkowo to tekstu ju? nie. Wyt?umaczy kto? jak wyskalowa? od?rodkowo ten tekst?
Siema. Jak robie gui przez dxDraw, to na moim monitorze(16:9) wychodzi normalnie, natomiast mojemu znajomemu gui wy?wietla si? ,,sp?aszczone" - Monitor 4:3. Pr?bowa?em wielu rozwi?za?, r??ne rodzaje skalowanie itd., ale bezskutecznie.
Prosi?bym o pomoc w rozwi?zaniu problemu.
addEventHandler("onClientRender", root,
function() dxDrawText("Za wysokie progi na prawdziwe kody xD", 571, 335, 1321, 732, tocolor(255, 255, 255, 255), 5.00, "default", "center", "center", false, false, false, false, false) end )
w jaki spos?b wyskalowa? to od?rodkowo? Jak to sie robi? Czytalem troszku poradnik?w na tym forum, ale nie przem?wi?y one do mnie xD. A mo?e jest jaki? inny lepszy spos?b? Dotychczasowe skalowanie, kt?re u?ywa?em by?o w skr?cie s?abe, na szeroko?ciach ni?szych ni? 900 wszystko by?o inaczej poustawianie, i wszystko na siebie nachodzi?o. Dzi?ki za pomoc.
function isMouseIn ( x, y, width, height )
if ( not isCursorShowing( ) ) then return false
end
local sx, sy = guiGetScreenSize ( ) local cx, cy = getCursorPosition ( ) local cx, cy = ( cx * sx ), ( cy * sy )
if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then return true else
return false
end
end
wi?c tak wygl?da m?j kod po stronie c-side
problem w tym ,?e o ile skalowanie interfejsu czy obrazka dzia?a mi tak klikanie myszk? w interfejs w podane rejony ju? nie
if isMouseIn(949*px, 580*py, 193*px, 91*py) then
tak wygl?da w funkcji niestety wszystko dzia?a sprawnie tylko na rozdzielczo?ci co mojej na innych trzeba klika? w "inne" miejsca
Patrzylem co tu pisane bylo na forum, probowalem i no nie wychodzi, i w sumie to nie wiem co zle robie. Rozwiaze ktos przykladzik, zebym mogl sobie reszte sam uzupelnic? Albo chociaz cos doradzic, dzieki.
1. Da si? zrobi? "podmiank? na ID"?
?e tylko pojazd z danym ID ma podmianke a reszta z tej samej marki ma domy?ln? sk?rke?
2. Mo?e kto? wyt?umaczy? skalowanie?
jak zrobi? ?eby na ka?dej rozdzia?ce by?o git? ?eby nie by?o rozci?gniete itd
(ja skalowa?em na 1366x768(moja rozdzia?ka lapka) i by?o git ale kolega m?wi ?e u niego takie mehhh bo ma jak?? inn?)?
local sx, sy = guiGetScreenSize() local zoom = 1920/sx
function scaleX(type, value)
if type == 'center' then return math.floor(sx/2 - 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(type, value)
if type == 'center' then return math.floor(sy/2 - value/zoom)
elseif type == 'top' then return math.floor(value/zoom)
elseif type == 'down' then return math.floor(sy - value/zoom) end
end
Chc? si? waz zapyta? jak wyskalowa? tym rectangle. Wiem ?e jest to skalowanie od?rodkowe. Ale prosz? o pomoc.
Siemka mam problem ze skalowaniem
Pr?buje dobrze je zrobi? ale jest to troch? trudne i nie wiem za bardzo jak je wykona? bo tego nie czaje po prostu. Czyta?em poradnik na skalowanie od?rodkowe na tym forum ale nie rozumiem tego. M?g?by kto? wyt?umaczy? to jako? fajnie albo da? jaki? przyk?adzik?
pisz? znowu temat bo tym razem Nie dam rady Ogarn?? tego sam Chce zrobi? skalowanie Mojego Hudu U mnie jest wszystko git ale u 2 Znajomych u nich jest schowany hud mo?e kto? mi wyskalowa? lub nakierowa? jako? ?
Wiem, ?e tego typu temat?w na tym forum by?o bardzo du?o, aczkolwiek prawie ka?dy z tamtych nie dzia?a poprawnie b?d? ich nie rozumiem. Prosz? was o pomoc w tym jak poprawnie skalowa?. Za pomoc daje zimne a za dobre skalowanie wynagradzam si?
Witam, ot?? skaluje mi wi?kszo?? gui, lecz nie skaluje mi outline. Pomo?e kto?? Zastosowa?em skalowanie od?rodkowe.
ss.
na rozdzia?ce 1024x768 https://imgur.com/OhkqEMm
na rozdzia?ce na kt?rej robi?em gui 1920x1080 https://imgur.com/LydL4cY
kod
[lua]
local sx,sy = guiGetScreenSize()
local zoom = 1
local fh = 1920
if sx < fh then
zoom = math.min(2,fh/sx)
end
przecho = false
function mysz(psx,psy,pssx,pssy,abx,aby)
if not isCursorShowing() then return end
cx,cy=getCursorPosition()
cx,cy=cx*sx,cy*sy
if cx >= psx and cx <= psx+pssx and cy >= psy and cy <= psy+pssy then
return true,cx,cy
else
return false
end
end
Witam, dzi? opisze wam skalowanie metod? Brzysia jest ono bardzo proste i na pewno pomo?e wam w codziennej pracy.
Zaczynaj?c:
Ustalmy pozycj? naszego interfejsu.
[lua]
sW = guiGetScreenSize()
--Je?li chcemy pozycjonowa? od lewej
x = koordynaty -- Od pixela 0 do pixela po ?rodk? ekranu
--Je?li chcemy ?rodek ekranu
x = sW/2 -- ?rodek ekranu
-- Je?li chcemy pozycjonowa? od prawej
x = sW - koordynaty -- od ostatniego pixela szeroko?ci do ?rodka ekranu
[/lua]
~sW to nic innego ni? screenWidth(szeroko?? obrazu)
~ koordynaty to po prostu pozycja w kt?rej chcemy nasz interfejs
Przy 1920x1080 powinno nam to zwr?ci? warto?? ~1920(zale?nie od tego czy gramy w oknie czy nie)
Stw?rzmy pozycj? dla prawego g?rnego rogu
[lua]
local width, height = 400, 300
local x, y = sW-width-100, height+100
[/lua]
width i height to rozmiary naszego obrazka
Jako ?e MTA pozycjonuje grafiki na ekranie od lewego i g?rnego brzegu grafiki musimy ustali? 'margines' od prawego i g?rnego brzegu ekranu(jako ?e zastosowali?my 'sW-' to margines robimy od prawego brzegu)
100 to dodatkowy odst?p od brzeg?w(grafika bez tego idealnie by do nich przylega?a)
Zoom kt?ry zaraz wam przedstawie powsta? po to, by przy ni?szych rozdzielczo?ciach grafika odpowiednio si? zmniejsza?a, przy 800x600 grafika zaj??aby idealnie p?? ekranu bo tyle w?a?nie zajmuje pixeli, a przy 1920x1080 by?a by bardzo ma?a.
Za?o?enie ?w skalowania polega na tym, ?e rozmiar grafiki jest niejako mno?ony prz...
Witam, ot?? nie dawno nauczy?em si? skalowa? zoomem wszystko cacy, ale jest jeden problem. dxDrawText ca?kowicie inaczej si? skaluje ni? inne dxDraw'y. M?g?by mi kto? wyt?umaczy? skalowanie tych dxDrawText za pomoc? zooma?
Siemka, wszystko ?adnie dzia?a mi w kodzie tylko nie scaluje si? dxdrawtext, albo scaluje si? w ma?ym stopniu, dodam ?e ca?y panel jest ?adnie przescalowany na ka?dej rozdzielczo?ci.