Desenho na tela
Estas são as funções de desenho do dia a dia: retângulos, imagens e texto, mais o que você precisa para medir e posicionar tudo isso. Como todo desenho no cliente, elas valem por um quadro — o lugar delas é dentro de um handler do evento onClientRender.
local telaW, telaH = getScreenSize()local fonte = dxCreateFont("fontes/titulo.ttf", 14)
addEventHandler("onClientRender", root, function() local texto = "Bem-vindo" local largura = dxGetTextWidth(texto, 1, fonte)
-- caixa centralizada no topo da tela dxDrawRectangle(telaW / 2 - largura / 2 - 12, 30, largura + 24, dxGetFontHeight(1, fonte) + 12, tocolor(0, 0, 0, 170))
dxDrawText(texto, telaW / 2 - largura / 2, 36, 0, 0, tocolor(255, 255, 255, 255), 1, fonte)
-- um ícone ao lado dxDrawImage(telaW / 2 - largura / 2 - 40, 32, 24, 24, "imagens/icone.png")end)A ordem importa: o que é desenhado depois fica por cima.
As cores são inteiros empacotados. Monte-as com tocolor(r, g, b, a), com os quatro canais de 0 a 255. Sem o argumento de cor, o padrão é branco opaco.
Nunca escreva posições em pixels fixos: peça o tamanho da tela com getScreenSize e trabalhe em proporção, senão o seu HUD sai do lugar em outra resolução.
Quando um argumento tem o tipo errado ou o desenho não pode ser feito, estas funções devolvem false e escrevem o motivo no console de debug. A única exceção é dxGetTextSize, que gera um erro de Lua quando recebe um argumento inválido.
Estas 9 funções existem somente no cliente. Chamá-las de um script de servidor resulta em erro de valor nulo.
Primitivas, desenho 3D, texturas, render targets e shaders ficam na página de Texturas, shaders e render targets.
Retângulos e imagens
Seção intitulada “Retângulos e imagens”Fontes embutidas
Seção intitulada “Fontes embutidas”Além das fontes carregadas com dxCreateFont, estes nomes podem ser passados direto como string:
| Nome | Aparência |
|---|---|
"default" | Tahoma. |
"default-bold" | Tahoma, em negrito. |
"clear" | Verdana. |
"arial" | Arial. |
"sans" | Microsoft Sans Serif, em negrito. |
"pricedown" | Pricedown, a fonte dos títulos do GTA. |
"bankgothic" | Bank Gothic. |
"diploma" | Diploma. |
"beckett" | Beckett. |
"unifont" | Unifont, que cobre quase todos os caracteres Unicode. |
As cinco últimas são arquivos de fonte que acompanham o cliente, então ficam iguais em qualquer máquina. Os nomes não diferenciam maiúsculas de minúsculas. Qualquer outro nome cai na fonte padrão — exceto em dxGetTextSize, onde gera um erro.