Ir para o conteúdo principal
Version: bleeding-edge 🩸

User Interface

Como exibir informações na tela do jogador.

In nanos world there are 2 official ways of plotting screen data: WebUI and Canvas.

caution

We highly recommend using WebUI instead of Canvas to create your UIs 😉.

WebUI

Com a WebUI você pode carregar páginas HTML que se integram aos seus pacotes em Lua usando eventos.

Configuração básica do WebUI

Este exemplo de código mostra como adicionar uma página básica usando HTML+JavaScript com a classe WebUI.

info

Nota: Todo código da WebUI roda no lado do cliente!

Client/Index.lua
-- Spawns a WebUI with the HTML file you just created
MyUI = WebUI("My UI", "file://UI/index.html")

-- When the HTML is ready, triggers an Event in there
MyUI:Subscribe("Ready", function()
MyUI:CallEvent("MyAwesomeEvent", "Hello! Você está pronto!")
end)

MyUI:Subscribe("MyAwesomeAnswer", function(param1)
Package.Log("Recebeu uma resposta! Mensagem: " .. param1)
fim)
Client/UI/index.html
<html>
<head>
<script src="index.js"></script>
</head>
<body>
Olá Mundo!
</body>
</html>
Client/UI/index.js
// Registre-se em "MyAwesomeEvent" de Lua
Events.Subscribe("MyAwesomeEvent", function(param1) {
console.log("Triggered! " + param1);

// Dispara "MeuAwesomeAnswer" em Lua
Events.Call("MyAwesomeAnswer", "Olá lá!");
})

Resultados da WebUI

Isto irá sair:

[WebUI]  disparado! Olá! Você está pronto!
[Script] Recebeu uma resposta! Mensagem: Olá!
HUD básica (HTML)getting-started/tutorials-and-examples/basic-hud-html

Tela

HUD Básica (Canvas)getting-started/tutorials-and-examples/basic-hud-canvas