Problema com a função Resolution[]
3 participantes
Página 1 de 1
Problema com a função Resolution[]
boa tarde
Estou tendo um problema com a função Resolution[] que pega todas as resoluções suportadas pelo computador;
Criei uma variavel para pegar a quantidade de resoluções do meu monitor:
Dentro da unity quando coloco o jogo para simular, a variavel 'quantidResolucoes' mostra 11 resoluções que meu pc suporta.
Fiz até um OnGUI para mostrar na tela esse número de resoluções:
Mas aí eu compilei o jogo para ver como tudo está realmente funcionando e para minha surpresa a array de resoluções resolucoesSuportadas.Length está mostrando 16, como se de repente meu pc suportasse mais 4 resoluções.
Se são 11 resoluções que meu computador aceita, deveriam então ser as 11 mesmo no jogo compilado.
Por que isso está acontecendo? Alguém já teve esse problema?
Gostaria que alguém me ajudasse a resolver isso.
Estou tendo um problema com a função Resolution[] que pega todas as resoluções suportadas pelo computador;
Criei uma variavel para pegar a quantidade de resoluções do meu monitor:
- Código:
Resolution[] resolucoesSuportadas;
public int quantidResolucoes;
void Start() {
quantidResolucoes = resolucoesSuportadas.Length;
}
Dentro da unity quando coloco o jogo para simular, a variavel 'quantidResolucoes' mostra 11 resoluções que meu pc suporta.
Fiz até um OnGUI para mostrar na tela esse número de resoluções:
- Código:
void OnGUI() {
GUI.Label(new Rect(300, 300, 300, 25), "Número de resoluções: " + resolucoesSuportadas.Length);
}
Mas aí eu compilei o jogo para ver como tudo está realmente funcionando e para minha surpresa a array de resoluções resolucoesSuportadas.Length está mostrando 16, como se de repente meu pc suportasse mais 4 resoluções.
Se são 11 resoluções que meu computador aceita, deveriam então ser as 11 mesmo no jogo compilado.
Por que isso está acontecendo? Alguém já teve esse problema?
Gostaria que alguém me ajudasse a resolver isso.
Flávio- MembroAvançado
- PONTOS : 2831
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Re: Problema com a função Resolution[]
que eu saiba essa funçao pega a resoluçao que o monitor suporta e n que seu computador suportaFlávio escreveu:boa tarde
Estou tendo um problema com a função Resolution[] que pega todas as resoluções suportadas pelo computador;
Criei uma variavel para pegar a quantidade de resoluções do meu monitor:
- Código:
Resolution[] resolucoesSuportadas;
public int quantidResolucoes;
void Start() {
quantidResolucoes = resolucoesSuportadas.Length;
}
Dentro da unity quando coloco o jogo para simular, a variavel 'quantidResolucoes' mostra 11 resoluções que meu pc suporta.
Fiz até um OnGUI para mostrar na tela esse número de resoluções:
- Código:
void OnGUI() {
GUI.Label(new Rect(300, 300, 300, 25), "Número de resoluções: " + resolucoesSuportadas.Length);
}
Mas aí eu compilei o jogo para ver como tudo está realmente funcionando e para minha surpresa a array de resoluções resolucoesSuportadas.Length está mostrando 16, como se de repente meu pc suportasse mais 4 resoluções.
Se são 11 resoluções que meu computador aceita, deveriam então ser as 11 mesmo no jogo compilado.
Por que isso está acontecendo? Alguém já teve esse problema?
Gostaria que alguém me ajudasse a resolver isso.
diegopds- Mestre
- PONTOS : 3420
REPUTAÇÃO : 52
Idade : 26
Respeito as regras :
Re: Problema com a função Resolution[]
diegopds escreveu:que eu saiba essa funçao pega a resoluçao que o monitor suporta e n que seu computador suporta
sim, é o que o meu monitor suporta!
no meu caso, ela me dá 11 opções de resoluções
Flávio- MembroAvançado
- PONTOS : 2831
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Re: Problema com a função Resolution[]
Percebi uma coisa, depois que compilo o jogo o menu que altera as resoluções está mostrando um total de 15 resoluções poque pega também as resoluções de 75Hz e não só as de 60hz.
Mas dentro da Unity na hora de simular, a função Resolution[] está me dando uma lista de 11 resoluções só de 60Hz.
Como que eu faço para listar só as resoluções de 60Hz no jogo compilado?
Mas dentro da Unity na hora de simular, a função Resolution[] está me dando uma lista de 11 resoluções só de 60Hz.
Como que eu faço para listar só as resoluções de 60Hz no jogo compilado?
Flávio- MembroAvançado
- PONTOS : 2831
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Re: Problema com a função Resolution[]
Tipo isso?
- Código:
using System.Collections.Generic;
using UnityEngine;
public class Resolucoes60HZ : MonoBehaviour
{
private List<Resolution> resolucoes;
void Awake()
{
Resolucoes60();
}
public void Resolucoes60()
{
resolucoes = new List<Resolution>();
Resolution[] temp = Screen.resolutions;
foreach (Resolution res in temp)
{
if (res.refreshRate == 60)
resolucoes.Add(res);
}
}
}
Fagner- Moderador
- PONTOS : 4443
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: Problema com a função Resolution[]
Fagner escreveu:Tipo isso?
- Código:
using System.Collections.Generic;
using UnityEngine;
public class Resolucoes60HZ : MonoBehaviour
{
private List<Resolution> resolucoes;
void Awake()
{
Resolucoes60();
}
public void Resolucoes60()
{
resolucoes = new List<Resolution>();
Resolution[] temp = Screen.resolutions;
foreach (Resolution res in temp)
{
if (res.refreshRate == 60)
resolucoes.Add(res);
}
}
}
Puxa, simples! Só usar o refreshRate num if, por que não pensei nisso..
Resolveu o prob! valeu!
agora uma dúvida, deixar de lado as opções de 75Hz das resoluções do monitor do usuário faz alguma diferença, considerando que o jogo será rodado em diversos monitores?
E para um jogo 2D todo em pixel, vale a pena colocar no menu uma opção para qualidade gráfica usando QualitySettings.SetQualityLevel?
Pensei em colocar três opções, LOW, MEDIUM e HIGH, mas como se trata de jogo em pixel não sei se faz diferença.
Flávio- MembroAvançado
- PONTOS : 2831
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Re: Problema com a função Resolution[]
Sem diferença, pois as resoluções 75hz são idênticas as 60Hz, só que em geral apenas as mais baixas são suportadas.
Jogo 2D é leve o suficiente pra não fazer diferença em HIGH e LOW, como você não vai usar sprites em resoluções diferentes, pode ficar sussa.
Jogo 2D é leve o suficiente pra não fazer diferença em HIGH e LOW, como você não vai usar sprites em resoluções diferentes, pode ficar sussa.
Fagner- Moderador
- PONTOS : 4443
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Tópicos semelhantes
» Script faz a função tudo certo na unity, já quando gero apk o script não faz a função
» Resolution Screens Calculate
» [Duvida] Sobre Reference Resolution -> (Canvas)
» Função de "aspirar" mobs, itens, etc.
» Função do 'namespace'
» Resolution Screens Calculate
» [Duvida] Sobre Reference Resolution -> (Canvas)
» Função de "aspirar" mobs, itens, etc.
» Função do 'namespace'
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos