Pular para o conteúdo

DUI e texturas runtime

Cliente

DUI (Direct-rendered User Interface) é um navegador fora da tela. Em vez de ocupar a interface inteira como a NUI, a página vira uma textura: ela pode ser desenhada com as funções DX ou aplicada sobre uma textura do mundo.

Estas 14 funções existem somente no cliente. Cada DUI é atualizado a até 30 quadros por segundo. O cliente aceita no máximo 8 navegadores DUI simultâneos, ou 2 em máquinas classificadas como de baixo desempenho.

Este exemplo abre uma página local e usa sua imagem para substituir cj_tv_screen no mundo:

local tv = createDui("nui://meu-resource/ui/tv.html", 1024, 512)
if not tv then return end
local txd = createRuntimeTxd("telas_tv")
local textura = createRuntimeTextureFromDuiHandle(txd, "tv_ao_vivo", tv)
if not textura then
destroyDui(tv)
return
end
addReplaceTexture("cj_tv", "cj_tv_screen", txd, "tv_ao_vivo")
-- quando terminar:
-- removeReplaceTexture("cj_tv", "cj_tv_screen")
-- destroyDui(tv)

O arquivo local precisa pertencer ao mesmo resource da chamada. Para uma página em ui/tv.html do resource meu-resource, use nui://meu-resource/ui/tv.html.

As coordenadas são em pixels da superfície criada por createDui, não da tela do jogo.