Stránka 1 z 1
Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 13:11
od strangereu
Ahoj,
Jelikož jsem se rozhodl udělat nějaký ten design do hry pomocí DirectX, tak bych potřeboval pomoc, protože mi to nějak ujíždí.
Kód: Vybrat vše
local sX, sY = guiGetScreenSize ()
-- sY = UP/DOWN
-- sX = LEFT/RIGHT
function header ()
dxDrawRectangle ( sX/(25*100), sY/(25*100), sX/3, sY/30, tocolor ( 0, 125, 255, 255 ) )
end
addEventHandler("onClientRender", root, header )
A o co, že se to vlastně snažím?
Potřebuju vytvořit takovýto proužek na vrchu obrazovky:
Samozřejmě relativní pozice, protože chci, aby to každý viděl stejně na jakémkoliv rozlišení.
Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 13:17
od CZechBoY
čau,
vysvětli nám prosím ty magické konstanty.
Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 13:25
od strangereu
No pokusím se to nějak vysvětlit, tak doufám, že to pochopíš.
Je to dx použité v lua, přičemž dxDrawRectangle je vytvoření klasického hranatého tvaru, třeba čtverec nebo obdélník.
tocolor ( R, G, B, A ) = Barvy + Průhlednost
guiGetScreenSize() = Získání informací o obrazovce daného uživatele, který je momentálně na serveru.
dxDrawRectangle | Wiki:
https://wiki.multitheftauto.com/wiki/DxDrawRectangleguiGetScreenSize | Wiki:
https://wiki.multitheftauto.com/wiki/GuiGetScreenSizeSnad jsi to pochopil :)
Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 13:29
od CZechBoY
Ne, já se ptal na magické konstanty, ne to co si můžu dohledat na Googlu.
Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 13:42
od strangereu
No jelikož sX je pohyb do stran, tak jsem si rozvrhl sX/(25*100), což je 25*100=2500 a to mi dává přesný začátek na levé straně a pak sY/(25*100) a tohle je to samé jenže to udává výšku toho, takže můj tvar/objekt začíná v levém rohu nahoře na obrazovce.
A ten zbytek už je šířka a výška daného objektu, který vytvářím, jenže pokud zvětšuji šířku, tak se mi automaticky zmenšuje výška a to pak dosahuje extrémních čísel, abych to trefil přesně a z vlastní zkušenosti vím, že to jde udělat i s menšími čísly, ale otázka už zní jak?
Doufám, že jsi myslel toto

Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 13:48
od CZechBoY
Co jsou teda ty magický konstanty

těch 25, 100...
Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 14:03
od strangereu
Jak to myslíš?
Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 14:05
od CZechBoY
Co jsou čísla 25 a 100? K čemu tam jsou?
Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 14:09
od strangereu
No původně tam bylo 2500, ale udělal jsem z toho 25*100 a je to pozice.
Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 16:42
od CZechBoY
Jaká pozice?
Nejdřív se snaž to dostat do rohu, potom to posuneš jednoduše.
Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 17:01
od strangereu
Já už to mám dané v rohu úplně přesně, ale když to roztahuju do stran tak se mi zmenšuje vejška toho a to už pak lezu do čísla 303513513513513513 abych to natáhl aspoň o 1mm a to je ten problém.
A ten zbytek už je šířka a výška daného objektu, který vytvářím, jenže pokud zvětšuji šířku, tak se mi automaticky zmenšuje výška a to pak dosahuje extrémních čísel, abych to trefil přesně a z vlastní zkušenosti vím, že to jde udělat i s menšími čísly, ale otázka už zní jak?
Re: Umí tu někdo matematické výpočty pro dx a pozicování?
Napsal: 13 říj 2013 18:56
od CZechBoY
bool dxDrawRectangle ( int startX, int startY, float width, float height [, int color = white, bool postGUI = false] )
takže když nastavíš startX na 25 tak se vykreslí 25px zleva
když nastavíš startY na 25 tak se vykreslí 25px shora
Jsou to absolutní souřadnice.