dxCreateRenderTarget
Cria uma textura na qual você mesmo desenha.
Sintaxe
Seção intitulada “Sintaxe”render-target dxCreateRenderTarget ( number largura, number altura [, bool comAlfa = false ] )render-target dxCreateRenderTarget ( number largura, number altura, string formatoSuperficie )Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
largura, altura | number | — | Tamanho em pixels. Precisam ser maiores que zero. |
comAlfa | bool | false | Guarda também a transparência, para que o alvo possa ser desenhado por cima de outra coisa sem fundo. |
formatoSuperficie | string | — | Na segunda forma, o formato de superfície do Direct3D, pelo nome em minúsculas sem o prefixo D3DFMT_ — por exemplo "a8r8g8b8", "x8r8g8b8", "r5g6b5", "a16b16g16r16f", "r32f". |
Retorno
Seção intitulada “Retorno”O elemento de render target. Devolve false se um argumento estiver errado ou o formato de superfície não for reconhecido (com um aviso no console de debug), ou, sem aviso, se o tamanho for menor que 1, faltar memória de vídeo ou o alvo não puder ser criado.
Ciclo de vida
Um render target é criado uma vez, desenhado quando muda e usado como imagem sempre que precisar:
Exemplo
Seção intitulada “Exemplo”local placa = dxCreateRenderTarget(256, 128, true)local precisaRedesenhar = true
addEventHandler("onClientRender", root, function() if not placa then return end
-- 1. desenhar dentro do alvo, só quando o conteúdo mudou if precisaRedesenhar then dxSetRenderTarget(placa, true) dxDrawRectangle(0, 0, 256, 128, tocolor(0, 0, 0, 200)) dxDrawText("MTAX", 0, 0, 256, 128, tocolor(255, 255, 255, 255), 3, "default-bold", "center", "center") dxSetRenderTarget() -- volta a desenhar na tela precisaRedesenhar = false end
-- 2. usar o alvo como qualquer outra imagem dxDrawImage(60, 60, 256, 128, placa)end)
addEventHandler("onClientResourceStop", resourceRoot, function() -- 3. soltar quando não precisar mais if placa then destroyElement(placa) endend)Veja também
Seção intitulada “Veja também”dxCreateTexture— Cria uma textura, a partir de um arquivo do resource, de dados de imagem já em memória, ou em branco.dxCreateScreenSource— Cria uma textura que recebe uma cópia do que está na tela.dxUpdateScreenSource— Copia o conteúdo atual da tela para dentro de um screen source.dxSetRenderTarget— Escolhe para onde o desenho vai: para um render target ou de volta para a tela.dxGetMaterialSize— Devolve o tamanho de um material em pixels.dxSetTextureEdge— Muda o que acontece quando a imagem é amostrada fora dos seus limites.