Pular para o conteúdo

onClientClick

Cliente Não cancelável Entrada

Disparado quando um botão do mouse é pressionado ou solto com o cursor visível.

A raiz (root).

PosiçãoNomeTipoDescrição
1botaostring"left", "right" ou "middle".
2estadostring"down" no clique, "up" ao soltar.
3telaXnumberPosição do cursor em pixels, contada da esquerda.
4telaYnumberPosição do cursor em pixels, contada do topo.
5mundoXnumberOnde o clique bateu no mundo.
6mundoYnumberOnde o clique bateu no mundo.
7mundoZnumberOnde o clique bateu no mundo.
8elementoelement ou boolO elemento sob o cursor, ou false quando o clique caiu no cenário ou no vazio.

Não.

Os três valores de mundo vêm de um traçado do cursor para dentro da cena, até 300 unidades. Quando esse traçado não encontra nada, eles são o ponto final do traçado e o oitavo parâmetro é false. A roda do mouse não gera este evento: ela chega pelo onClientKey.

local botaoX, botaoY, botaoL, botaoA = 40, 40, 160, 36
addEventHandler("onClientRender", root, function()
dxDrawRectangle(botaoX, botaoY, botaoL, botaoA, tocolor(30, 30, 30, 200))
dxDrawText("Abrir loja", botaoX, botaoY, botaoX + botaoL, botaoY + botaoA,
tocolor(255, 255, 255, 255), 1, "default", "center", "center")
end)
addEventHandler("onClientClick", root, function(botao, estado, x, y)
if botao ~= "left" or estado ~= "down" then return end
if x >= botaoX and x <= botaoX + botaoL and y >= botaoY and y <= botaoY + botaoA then
outputDebugString("clicou na loja")
end
end)

Clicar em um elemento do mundo é o outro uso comum:

addEventHandler("onClientClick", root, function(botao, estado, telaX, telaY, mundoX, mundoY, mundoZ, elemento)
if botao ~= "left" or estado ~= "down" then return end
if isElement(elemento) then
outputDebugString("clicou em um " .. getElementType(elemento))
end
end)