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.

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.
Disponível desde o LÖVE 0.9.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.


Disponível desde o LÖVE 0.9.2
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.


Disponível desde o LÖVE 11.3
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.


Available since LÖVE 0.9.1 and removed in LÖVE 0.10.0
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 no modo de "desktop", então a janela vai ser automaticamente rescalonada para a resolução do monitor.
  • 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.
  • Fundos transparentes não são suportados.

Exemplos

Fazer a janela redimensionavel com vsync desativado e um tamanho minimo

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


Outras Linguas