Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2019-06-02, 16:53


Rumper

Majster od pysa






Wiek: 15
Na forum: 3316 dni
Posty: 231
Nick w MP: Rumper

Piwa: 592

Respekt: 180
Respekt: 180Respekt: 180

Ostrzeżeń: 20%
Witam,mam taki problem ?e m?j kolega ma tak jakby inn? pozycje dx ni? ja.Pr?bowa?em to w inny spos?b wyskalowa? ale nadal nie dzia?a?o
dxDrawText("text"screenW 0.1000screenH 0.7000screenW 0.5012screenH 0.7500tocolor(255255255255), 1.00"default""center""center"false)


Podpis
Elo benc
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-03, 12:38


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Najlepiej tworzy? elementy GUI za pomoc? GUIEDITOR. Jest tam funkcja skalowania relatywnego ( opcja "relative" ). Niewa?ne przy jakiej robisz rozdzielczosci i tak wyskaluje samo do kazdej :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-03, 16:02


Rumper

Majster od pysa






Wiek: 15
Na forum: 3316 dni
Posty: 231
Nick w MP: Rumper

Piwa: 592

Respekt: 180
Respekt: 180Respekt: 180

Ostrzeżeń: 20%
Shuffle, Te? pr?bowa?em ale nadal to samo.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-03, 16:21


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Musisz robi? co? ?le, jestem w trakcie pisania GM, skaluje wszystko w ten spos?b i dzia?a.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-03, 17:24


Rumper

Majster od pysa






Wiek: 15
Na forum: 3316 dni
Posty: 231
Nick w MP: Rumper

Piwa: 592

Respekt: 180
Respekt: 180Respekt: 180

Ostrzeżeń: 20%
local show false 

function przewodnik()
    local screenWscreenH guiGetScreenSize()
    local sx,sy=guiGetScreenSize()
local data={ showed=nilbutton={}, info=nilmisc=nil, }
--pys
function isMouseIn(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
--pys
    if show == true then
        dxDrawRectangle(screenW 0.2313screenH 0.1711screenW 0.5375screenH 0.5767tocolor(000232), false)
        dxDrawImage(screenW 0.4006screenH 0.1522screenW 0.1988screenH 0.2956":pystories-logging/logo.png"000tocolor(255255255255), false)   
        dxDrawText("text"sx*100/1024sy*820/768sx*500/1024sy*302/768white1.0"default-bold""center""center"false)
    end
end

function button()
    if show == true then
        show false
    elseif show == false then
        show true
    end
end

bindKey("F1""down",  button)
addEventHandler('onClientRender'rootprzewodnik)
addEventHandler("onClientResourceStart"rootprzewodnik)

No niestety wszystko dobrze robie ale nadal to nie dzia?a.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-04, 15:04


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Jaki? b??d w debugu?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-04, 18:41


Rumper

Majster od pysa






Wiek: 15
Na forum: 3316 dni
Posty: 231
Nick w MP: Rumper

Piwa: 592

Respekt: 180
Respekt: 180Respekt: 180

Ostrzeżeń: 20%
Brak

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-06, 15:13


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Prze?lij mi na screenie wygl?d tego okna. Spr?buje ci to zrobi? podobnie do twojego z tym skalowaniem

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-06, 16:58


boszboszek

HEY






Wiek: 14
Na forum: 3505 dni
Posty: 146
Nick w MP: boszboszek

Piwa: 2172

Respekt: 261
Respekt: 261Respekt: 261Respekt: 261

Skalowanie nie jest dzia?aniem schematycznym i nie ma na niego wzoru, kt?ry dzia?a zawsze w taki sam spos?b. Pozycjonowanie interfejsu polega g??wnie na matematyce i logice.

Odsy?am Ci? tutaj do mojego poradnika dotycz?cego skalowania od?rodkowego: https://gtao.pl/skalownie-odsrodkowe-vt123174.htm

PS: Nie polecam pozycjonowania gui-editorem.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-07, 16:33


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

"boszboszek" napisał/a:

Skalowanie nie jest dzia?aniem schematycznym i nie ma na niego wzoru, kt?ry dzia?a zawsze w taki sam spos?b. Pozycjonowanie interfejsu polega g??wnie na matematyce i logice.

Odsy?am Ci? tutaj do mojego poradnika dotycz?cego skalowania od?rodkowego: https://gtao.pl/skalownie-odsrodkowe-vt123174.htm

PS: Nie polecam pozycjonowania gui-editorem.



Skaluje guieditorem od 6 lat, ka?dy m?j serwer opiera? si? o skalowanie relatywne. Nic do niego nie mam, jest bardzo dobre.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-08, 19:44


Rumper

Majster od pysa






Wiek: 15
Na forum: 3316 dni
Posty: 231
Nick w MP: Rumper

Piwa: 592

Respekt: 180
Respekt: 180Respekt: 180

Ostrzeżeń: 20%
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-10, 19:58


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

Skalowanie od?rodkowe nie jest z?otym sposobem i przede wszystkim nie jest dobrym sposobem. Skalowanie relatywne jest jak dot?d najlepsz? metod?, przynajmniej w moich oczach. Osobi?cie korzystam z takiego sposobu
screenX 1.2
y screenY 1.3
To samo tyczy si? szeroko?ci (1.2) i wysoko?ci (1.3), rozmiar tekstu tak?e mo?emy tym skalowa?. Nigdy nie mia?em problemu z jakim? drastycznym zauwa?alnym spadkiem jako?ci obrazk?w. Ponadto skalowanie relatywne dzia?a logicznie, skoro co? np na 800x600 jest w pozycji 210,150 to (210/800) * screenX, (150/600) * screenY Ja do swoich potrzeb doda?em sobie w?asny mno?nik 1.2 i 1.3. Nie podajemy tutaj normalnych pozycji, 210 * screenX, tylko jej podzielon? warto??. Wa?n? spraw? te? jest pozycjonowanie interfejsu, nie jest to co prawda konieczne ale z pewno?ci? nieco u?atwia ten ?mudny proces skalowania. Argument "relative" w CEGUI dzia?a dok?adnie tak samo, a tam nikt nie narzeka. Poza tym no panowie, gdyby ten spos?b z guieditora mia?by by? bez sensu to nie zosta?by w og?le wprowadzony do gui editora :eye: Wystarczy jedynie odrobina oleju w g?owie i umiej?tno?? logicznego my?lenia.

Jak ja skaluj?? Nie dziel? warto?ci przez gui editor, wszystko ustawiam r?cznie.
Np.

local screenXscreenY guiGetScreenSize()

local x 0.0145 screenX 1.2
local y 0.2725 screenY 1.3
local w 0.498 screenX 1.2
local h 0.238 screenY 1.3

addEventHandler("onClientRender",root,function()
     dxDrawRectangle(x,y,w,h,0xFFFFFFFFfalse)
end)
Osobi?cie w przypadku obrazk?w jako w i h podaj? rozmiar grafiki podzielony przez moj? rozdzielczo?? na kt?rej pracuj? i przez mno?nik. Przyk?adowo mamy obrazek 300x75. Pracujemy np na 1440x900. Odpalamy kalkulator czy systemowy, czy w telefonie, czy w przegl?darce; gdziekolwiek. Dzielimy 300 / 1440 / 1.2 = 0.173. Nast?pnie wysoko??. 75 / 900 / 1.3 = 0.064. Wi?c przenosimy do lua


local w 0.173 screenX 1.2
local h 0.064 screenY 1.3
Oczywi?cie mo?emy manipulowa? tym rozmiarem bo nie zawsze domy?lny rozmiar nam pasuje, to tylko przyk?ad.

Postaw piwo autorowi tego posta
 

 
Tagi: skalowanie
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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
Dodaj temat do Ulubionych
Wersja do druku