love.window.setMode (Português)
Disponível desde o LÖVE 0.9.0 |
Saiu de love.graphics.setMode (Português). |
Define o modo de exibição e propriedades da janela.
Se a largura ou altura for 0, setMode vai usar a largura e altura do desktop.
Mudar o modo da janela pode ter alguns efeitos colaterais: por exemplo, qualquer Pintura vão ser limpados e valores enviados com Shader:send (Português) vão ser apagados. Tenha certeza de salvar os valores de Pintura antes de usar esta função ou re-desenhar a eles depois de usar esta função se você prescisar.
Contents
Função
Sinopse
teveSucesso = love.window.setMode( largura, altura, opções )
Argumentos
número largura
- A largura da janela.
número altura
- A altura da janela.
tabela opções
- As opções da janela colocadas dentro de um table:
boolean (Português) fullscreen (false)
- Coloque true se quiser tela cheia ou false se quiser o modo janela.
FullscreenType (Português) fullscreentype ("desktop")
- O tipo de tela cheia que é usado. O padrão é "normal" em 0.9.0 entre 0.9.2 e "desktop" em 0.10.0 e posteriores.
number (Português) vsync (1)
- Ativa ou desativa sincronização vertical ('vsync'): 1 para ativar o vsync, 0 para desativar ele, e -1 para usar vsync adaptativo (se ele é suportado). Anter do 11.0 isso era um valor boolean, ao inves de um numero.
number (Português) msaa (0)
- O numero de samples para o antisserrilhamento.
boolean (Português) stencil (true)
- Se um stencil buffer deve ser alocado. se true, o stencil buffer vai ter 8 bits.
number (Português) depth (0)
- O numero de bits no buffer de profundidade.
boolean (Português) resizable (false)
- True se a janela pode ser redimensionada quando não esta na tela cheia, false se não.
boolean (Português) borderless (false)
- True se a janela deve ser sem borda quando não esta na tela cheia, false se não.
boolean (Português) centered (true)
- True se a janela deve ser centralizada quando não esta na tela cheia, false se não.
number (Português) display (1)
- O numero do monitor para mostrar a janela, isso se monitores multiplos estão disponiveis.
number (Português) minwidth (1)
- A largura minima da janela, se ele é redimensionavel. Não pode ser menor do que 1.
number (Português) minheight (1)
- A altura minima da janela, se ele é redimensionavel. Não pode ser menor do que 1.
boolean (Português) highdpi (false)
- True se high-dpi mode deve ser usado em Retina displays no macOS e iOS. não faz nada em displays que não são Retina. Isso esta sempre ligado no Android.
number (Português) x (nil)
- A cordenada x da posição da janela no monitor especificado.
number (Português) y (nil)
- A cordenada y da posição da janela no monitor especificado.
boolean (Português) usedpiscale (true)
- Desativa o DPI scaling automatica do LOVE em monitores com DPIs altas quando colocado como false. Isso apenas tem efeito quando a opção
highdpi
e definida como true, porque o OS (ao inves do LOVE) faz tudo.
boolean (Português) srgb (false)
- Removido em 0.10.0 (defina o t.gammacorrect em conf.lua (Português) ao inves). True se o sRGB gamma correction deve ser aplicado quando desenhando na tela.
Retorna
boolean (Português) teveSucesso
- True se conseguiu, false se não.
Notas
love.conf talvez tenha uma documentação mais extensiva no comportamento de cada opção.
- Se a tela cheia esta ativa e a largura ou altura não é suportada (veja love.window.getFullscreenModes (Português)), a janela pode ser rescalonada para a resolução mais proxima disponivel e um evento de resize vai ser ativado.
- Se a tela cheia esta no modo de "desktop", então a janela vai ser automaticamente rescalonada para a resolução do monitor.
- Se a largura e altura é maior ou iqual a do monitor (isso inclui definindo ambas para 0) e não esta em tela cheia, vai parecer "visualmente" uma tela cheia, mas ele não esta e love.window.getFullscreen (Português) vai retornar false nesse caso. Isso tambem aplica a love.window.updateMode (Português) tambem.
- Se você desabilitou a janela no conf.lua (i.e.
t.window = false
) e usar essa função para manualmente criar uma janela, então você não pode rodar qualquer outra função do love.graphics.* antes desta. Se você fazer isso vai resultar em um comportamento inesperado tipo crashes por causa que o OpenGL não pode funcionar propriamente sem uma janela.
- No Android e iOS, o aspect ratio computado da largura e altura especificado determina se o jogo vai rodar em retrato ou paisagem. Alem disso é assíncrono. Use love.resize (Português) para pegar as dimensões re-ajustadas.
- Usando essa função em love.mousepressed (Português) pode causar o proximo mouse pressionado ser ignorado, então é recomendado rodar ele em love.mousereleased (Português)
- Fundos transparentes não são suportados.
Exemplos
function love.load()
love.window.setMode(800, 600, {resizable=true, vsync=0, minwidth=400, minheight=300})
end
Definir a orientação para retrato em Android
function love.load()
-- definir para o modo retrato
love.window.setMode(1, 2) -- A resolução real vai encaixar a tela.
end
function love.resize(w, h)
-- pegar as dimenções reais
LarguraDaJanela = w
AlturaDaJanela = h
end
Veja Tambem
- love.window (Português)
- love.window.getMode (Português)
- love.window.getFullscreenModes (Português)
- love.window.setFullscreen (Português)
- love.window.setVSync (Português)
- love.resize (Português)
Outras Linguas
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info