Sziasztok! Kész egy teszt GUI amit guieditorral csináltam.... Azt olvastam az onClientGUIClick jó ehhez, de nekem nem működik. Mi lehet az oka? Hogyan lehet egy \"gombra\" rátenni egy bizonyos dolgot? ( pl.: szöveget)
function tut1()
dxDrawRectangle(526, 190, 285, 397, tocolor(61, 193, 77, 255), false)
gomb = dxDrawRectangle(539, 208, 262, 363, tocolor(255, 255, 255, 255), false)
dxDrawText(\"teszt\", 538, 210, 801, 571, tocolor(254, 0, 0, 255), 4.00, \"default\", \"center\", \"center\", false, false, false, false, false)
showCursor(true)
addEventHandler(\"onClientGUIClick\",gomb,teszt,false)
addEventHandler(\"onClientRender\", root, tut1)
end
addCommandHandler(\"teszteles\",tut1)
function teszt()
outputChatBox(\"Működik\")
end
Szia.
Olyan funkcióba amit renderelni fogsz, abba ne tegyél nem renderelős dolgokat (pl showCursor, addEventHandler). Az addEventHandlert ha egyszer meghívod, utána hibákat fog írni minden meghívásnál. Az onClientGUIClick meg nem működik DX cuccokkal, és egy dx elemet nem lehet változóként definiálni (gomb; lehet, csak mindig true értéket teszt majd a gomb változóba, ha sikerült kirajzolnia).
Tanulás szempontjából az MTA wiki böngészését javaslom, illetve amit feljebb írt @BlackSy (én is így kezdtem :D).
Itt egy kis példa script, a tiédből átalakítva:
function tut1() -- dx elemek kirajzolása
dxDrawRectangle(526, 190, 285, 397, tocolor(61, 193, 77, 255), false)
dxDrawRectangle(539, 208, 262, 363, tocolor(255, 255, 255, 255), false)
dxDrawText(\"teszt\", 538, 210, 801, 571, tocolor(254, 0, 0, 255), 4.00, \"default\", \"center\", \"center\", false, false, false, false, false)
end
function teszt()
addEventHandler(\"onClientRender\", root, tut1) -- tut1-be lévő dx cuccok renderelése
addEventHandler(\"onClientClick\", getRootElement(), onClickCucc) -- \"kattintás érzékelő\" aktiválása
showCursor(true)
outputChatBox(\"Működik\")
end
addCommandHandler(\"teszteles\", teszt)
function teszt2()
removeEventHandler(\"onClientRender\", root, tut1) -- tut1-en lévő render leállítása
removeEventHandler(\"onClientClick\", getRootElement(), onClickCucc) -- \"kattintás érzékelő\" deaktiválása
showCursor(false)
outputChatBox(\"Már nem működik\")
end
addCommandHandler(\"teszteles2\", teszt2)
function onClickCucc(button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedElement)
if (state == \"down\") then
-- bal, jobb, felső, alsó (a képernyő bal felső sarkától számítva)
if (absoluteX >= 526) and (absoluteX <= 526+285) and (absoluteY >= 190) and (absoluteY <= 190+397) then -- ha a kirajzolt dx elem határain belül van a kurzor
outputChatBox(\"Ráböktél a gombra\")
end
end
end
Robika1