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:
Bez názvu-1.jpg


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/DxDrawRectangle

guiGetScreenSize | Wiki:
https://wiki.multitheftauto.com/wiki/GuiGetScreenSize

Snad 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 :lol:

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.