[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
+66
SamonBR
f1ll3rpimpao
AndreDeveloper
merkanbr
UesleiUsl
francisco barroso
kaufergomi
marcos lorhan
kenau
NKKF
ProBrStalker
Mourao
iantessele123
Jack100Scripts
dknoob537
Samuelsk
HappaRXRX
maxcoala
Phph09
Callyde Jr
HPGBR
wesking
flavions14
Unoog
Gregory2017
João Ricardo
DuViDoSo
bruxamissi
LeonSK
tatiara
GameS DoG
cody0033
mtmateus
PauloFR
Crash Psycho
JuR
Lotheadric
joabr
Jacozzinh
dstaroski
tom ramber
abcdQQ
RenanMSV
MeverPlays
Flodotelito
George Lucas Vieira
Lucas Garcia Frade
WiredD
Hcwc
dementeasdas
rodrigopt9
jaqspw
Viviane keiko
Ariiany
larissatds
Weslley
JuuzoTM
anizioNoob
dhiegolucio
dfop02
edugamer69
Maloney Silva
rafaelllsd
GuiMVP
c0hlera
MarcosSchultz
70 participantes
Página 4 de 5
Página 4 de 5 • 1, 2, 3, 4, 5
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Verifique se você não apagou o Event System
Última edição por Phph09 em Ter Jan 30, 2018 8:35 pm, editado 1 vez(es)
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
MARCOS POR FAVOR AJUDA AQUI! Estou tendo um erro no script que você me mandou fiz tudo conforme o ví como funciona o script e tal copiei colei configurei os botões e tals mas quando fui dar play deu um erro: http://prntscr.com/i6hk1s
Tentei resolver mas não consegui :/
Tentei resolver mas não consegui :/
HappaRXRX- Iniciante
- PONTOS : 2500
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Pelo que vejo é a variavel "Resolucao" e a variavel "BotaoJogar" que não foram preenxidas;
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
então queria tirar uma duvida que esta me deixando louco kkk
saberiam me dizer
como faço para
acionar alguma tecla do teclado por exemplo "e" por algum botão Ui ??
saberiam me dizer
como faço para
acionar alguma tecla do teclado por exemplo "e" por algum botão Ui ??
Samuelsk- Membro
- PONTOS : 2652
REPUTAÇÃO : 17
Idade : 25
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Crie um tópico específico para a sua dúvida na área "Dúvidas em geral", e por favor, poste mais detalhes do que está tentando fazer.Samuelsk escreveu:então queria tirar uma duvida que esta me deixando louco kkk
saberiam me dizer
como faço para
acionar alguma tecla do teclado por exemplo "e" por algum botão Ui ??
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
to com um problema com esse script eu clicko no botao jogar e nao muda de scena. eu ja botei as scenas la na build e coloquei o nome dela certo la
dknoob537- Membro
- PONTOS : 2564
REPUTAÇÃO : 7
Idade : 23
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Verifique isso acimaPhph09 escreveu:Verifique se você não apagou o Event System
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Olá Marcos eu vi seu tutorial de como criar um menu avançado sem pular o video, mas toda vez que eu dou play da o seguinte erro se puder me ajudar eu agradeço muito. Meu jogo é em primeira pessoa
Jack100Scripts- Iniciante
- PONTOS : 2602
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
MissingReferenceException: The object of type 'Camera' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityStandardAssets.Characters.FirstPerson.FirstPersonController.RotateView () (at Assets/Standard Assets/Characters/FirstPersonCharacter/Scripts/FirstPersonController.cs:275)
UnityStandardAssets.Characters.FirstPerson.FirstPersonController.Update () (at Assets/Standard Assets/Characters/FirstPersonCharacter/Scripts/FirstPersonController.cs:76)
Your script should either check if it is null or you should not destroy the object.
UnityStandardAssets.Characters.FirstPerson.FirstPersonController.RotateView () (at Assets/Standard Assets/Characters/FirstPersonCharacter/Scripts/FirstPersonController.cs:275)
UnityStandardAssets.Characters.FirstPerson.FirstPersonController.Update () (at Assets/Standard Assets/Characters/FirstPersonCharacter/Scripts/FirstPersonController.cs:76)
Jack100Scripts- Iniciante
- PONTOS : 2602
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
"MissingReferenceException: The object of type 'Camera' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object."
"MissingReferenceException: O objeto do tipo 'Camera' foi destruído, mas você ainda está tentando acessá-lo. Seu script deve verificar se ele é nulo ou você não deve destruir o objeto."
Your script should either check if it is null or you should not destroy the object."
"MissingReferenceException: O objeto do tipo 'Camera' foi destruído, mas você ainda está tentando acessá-lo. Seu script deve verificar se ele é nulo ou você não deve destruir o objeto."
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Jack100Scripts- Iniciante
- PONTOS : 2602
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
o volume nao funciona
iantessele123- Iniciante
- PONTOS : 2684
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Alguém me ajuda, por favor?
Eu setei todos os botões e coisas do gênero mas ainda aparece esse erro:
NullReferenceException: Object reference not set to an instance of an object
MENU.Opcoes (Boolean ativarOP) (at Assets/MENU.cs:160)
Eu setei todos os botões e coisas do gênero mas ainda aparece esse erro:
NullReferenceException: Object reference not set to an instance of an object
MENU.Opcoes (Boolean ativarOP) (at Assets/MENU.cs:160)
Mourao- Iniciante
- PONTOS : 2433
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Descobri, era um outro GameObject que também tinha o script (Não sei como mas tinha kkkk)Mourao escreveu:Alguém me ajuda, por favor?
Eu setei todos os botões e coisas do gênero mas ainda aparece esse erro:
NullReferenceException: Object reference not set to an instance of an object
MENU.Opcoes (Boolean ativarOP) (at Assets/MENU.cs:160)
Mourao- Iniciante
- PONTOS : 2433
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Seguiu corretamente o video?
iantessele123 escreveu:o volume nao funciona
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
public int VariavelInteira; //Variavel que vai ser salva
public float VariavelDecimal; //Variavel que vai ser salva
public string VariavelTexto; //Variavel que vai ser salva
public bool VariavelBooleana; //Variavel que vai ser salva
[Header("Elementos da UI")]
public Toggle Marcador;
public InputField CampoTexto;
public Text Inteira;
public Text Decimal;
public InputField Diretorio;
[Header("Configurações")]
public string DiretorioDoArquivo;
public string FormatoDoArquivo;
public string NomeDoArquivo;
[Serializable] //Nessa parte nós meio que formatamos o nosso arquivo, criando uma classse para isso. Aqui criamos as variaveis que serão adicionadas ao arquivo, e vale notar que você pode repetir nome de variaveis, desde que uma delas esteja fora dessa classe.
class DadosDoJogo
{
public int Int;
public float Float;
public string String;
public bool Bool;
}
public void Save() //Void que salva
{
BinaryFormatter binario = new BinaryFormatter();
FileStream arquivo = File.Create(DiretorioDoArquivo); //Aqui, criamos o arquivo
DadosDoJogo dados = new DadosDoJogo(); //"DadosDoJogo" é o nome da classe que iremos acessar, ao qual criamos anteriormente
dados.Int = VariavelInteira; //"dados.Int", é assim que acessamos uma variavel da nossa classe, para setar o valor dela, daí é só pegar e igualar com uma variavel do seu script.
dados.Float = VariavelDecimal;
dados.String = VariavelTexto;
dados.Bool = VariavelBooleana;
binario.Serialize(arquivo, dados);
arquivo.Close(); //Aqui terminamos a leitura do arquivo.
}
public void Load() // Void que carrega
{
if (File.Exists(DiretorioDoArquivo) == true) //Aqui verificamos se existe um arquivo para ser carregado. se existir, prosseguimos
{
BinaryFormatter binario = new BinaryFormatter();
FileStream arquivo = File.Open(DiretorioDoArquivo, FileMode.Open); //Aqui abrimos o arquivo
DadosDoJogo dados = (DadosDoJogo)binario.Deserialize(arquivo); //Aqui meio que descriptografamos o arquivo
VariavelInteira = dados.Int; //Aqui pegamos o valor salvo no arquivo e trazemos para nosso script.
VariavelDecimal = dados.Float;
VariavelTexto = dados.String;
VariavelBooleana = dados.Bool;
Marcador.isOn = VariavelBooleana;
CampoTexto.text = VariavelTexto;
arquivo.Close(); //Aqui fechamos a leitura
}
}
void Update () {
DiretorioDoArquivo = Application.persistentDataPath + "/" + NomeDoArquivo + "." + FormatoDoArquivo; //Aqui é definido o local de save, para o jogo.
//Detalhe: "Application.persistentDataPath" é o local base onde o arquivo é salvo. Ele varia de plataforma para plataforma e de dispositivo para dispositivo. A unica coisa que não muda é o nome e formato do arquivo do seu save.
//Daqui para baixo são só scripts da UI
Inteira.text = VariavelInteira.ToString();
Decimal.text = VariavelDecimal.ToString();
VariavelBooleana = Marcador.isOn;
VariavelTexto = CampoTexto.text;
Diretorio.text = DiretorioDoArquivo;
}
public void AdicionarInt()
{
VariavelInteira += 1;
}
public void RemoverInt()
{
VariavelInteira -= 1;
}
public void AdicionarFloat()
{
VariavelDecimal += 0.5f;
}
public void RemoverFloat()
{
VariavelDecimal -= 0.5f;
}
}
public float VariavelDecimal; //Variavel que vai ser salva
public string VariavelTexto; //Variavel que vai ser salva
public bool VariavelBooleana; //Variavel que vai ser salva
[Header("Elementos da UI")]
public Toggle Marcador;
public InputField CampoTexto;
public Text Inteira;
public Text Decimal;
public InputField Diretorio;
[Header("Configurações")]
public string DiretorioDoArquivo;
public string FormatoDoArquivo;
public string NomeDoArquivo;
[Serializable] //Nessa parte nós meio que formatamos o nosso arquivo, criando uma classse para isso. Aqui criamos as variaveis que serão adicionadas ao arquivo, e vale notar que você pode repetir nome de variaveis, desde que uma delas esteja fora dessa classe.
class DadosDoJogo
{
public int Int;
public float Float;
public string String;
public bool Bool;
}
public void Save() //Void que salva
{
BinaryFormatter binario = new BinaryFormatter();
FileStream arquivo = File.Create(DiretorioDoArquivo); //Aqui, criamos o arquivo
DadosDoJogo dados = new DadosDoJogo(); //"DadosDoJogo" é o nome da classe que iremos acessar, ao qual criamos anteriormente
dados.Int = VariavelInteira; //"dados.Int", é assim que acessamos uma variavel da nossa classe, para setar o valor dela, daí é só pegar e igualar com uma variavel do seu script.
dados.Float = VariavelDecimal;
dados.String = VariavelTexto;
dados.Bool = VariavelBooleana;
binario.Serialize(arquivo, dados);
arquivo.Close(); //Aqui terminamos a leitura do arquivo.
}
public void Load() // Void que carrega
{
if (File.Exists(DiretorioDoArquivo) == true) //Aqui verificamos se existe um arquivo para ser carregado. se existir, prosseguimos
{
BinaryFormatter binario = new BinaryFormatter();
FileStream arquivo = File.Open(DiretorioDoArquivo, FileMode.Open); //Aqui abrimos o arquivo
DadosDoJogo dados = (DadosDoJogo)binario.Deserialize(arquivo); //Aqui meio que descriptografamos o arquivo
VariavelInteira = dados.Int; //Aqui pegamos o valor salvo no arquivo e trazemos para nosso script.
VariavelDecimal = dados.Float;
VariavelTexto = dados.String;
VariavelBooleana = dados.Bool;
Marcador.isOn = VariavelBooleana;
CampoTexto.text = VariavelTexto;
arquivo.Close(); //Aqui fechamos a leitura
}
}
void Update () {
DiretorioDoArquivo = Application.persistentDataPath + "/" + NomeDoArquivo + "." + FormatoDoArquivo; //Aqui é definido o local de save, para o jogo.
//Detalhe: "Application.persistentDataPath" é o local base onde o arquivo é salvo. Ele varia de plataforma para plataforma e de dispositivo para dispositivo. A unica coisa que não muda é o nome e formato do arquivo do seu save.
//Daqui para baixo são só scripts da UI
Inteira.text = VariavelInteira.ToString();
Decimal.text = VariavelDecimal.ToString();
VariavelBooleana = Marcador.isOn;
VariavelTexto = CampoTexto.text;
Diretorio.text = DiretorioDoArquivo;
}
public void AdicionarInt()
{
VariavelInteira += 1;
}
public void RemoverInt()
{
VariavelInteira -= 1;
}
public void AdicionarFloat()
{
VariavelDecimal += 0.5f;
}
public void RemoverFloat()
{
VariavelDecimal -= 0.5f;
}
}
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;
public class MENU : MonoBehaviour {
public Button BotaoJogar, BotaoOpcoes, BotaoSair, BotaoSalvar, BotaoCarregar;
[Space(20)]
public Slider BarraVolume;
public Toggle CaixaModoJanela;
public Dropdown Resolucoes, Qualidades;
public Button BotaoVoltar, BotaoSalvarPref;
[Space(20)]
public Text textoVol;
public string nomeCenaJogo = "CENA1";
private string nomeDaCena;
private float VOLUME;
private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
private bool telaCheiaAtivada;
private Resolution[] resolucoesSuportadas;
void Awake(){
DontDestroyOnLoad (transform.gameObject);
resolucoesSuportadas = Screen.resolutions;
}
void Start () {
Opcoes (false);
ChecarResolucoes ();
AjustarQualidades ();
//
if (PlayerPrefs.HasKey ("RESOLUCAO")) {
int numResoluc = PlayerPrefs.GetInt ("RESOLUCAO");
if (resolucoesSuportadas.Length <= numResoluc) {
PlayerPrefs.DeleteKey ("RESOLUCAO");
}
}
//
nomeDaCena = SceneManager.GetActiveScene ().name;
Cursor.visible = true;
Time.timeScale = 1;
//
BarraVolume.minValue = 0;
BarraVolume.maxValue = 1;
//=============== SAVES===========//
if (PlayerPrefs.HasKey ("VOLUME")) {
VOLUME = PlayerPrefs.GetFloat ("VOLUME");
BarraVolume.value = VOLUME;
} else {
PlayerPrefs.SetFloat ("VOLUME", 1);
BarraVolume.value = 1;
}
//=============MODO JANELA===========//
if (PlayerPrefs.HasKey ("modoJanela")) {
modoJanelaAtivo = PlayerPrefs.GetInt ("modoJanela");
if (modoJanelaAtivo == 1) {
Screen.fullScreen = false;
CaixaModoJanela.isOn = true;
} else {
Screen.fullScreen = true;
CaixaModoJanela.isOn = false;
}
} else {
modoJanelaAtivo = 0;
PlayerPrefs.SetInt ("modoJanela", modoJanelaAtivo);
CaixaModoJanela.isOn = false;
Screen.fullScreen = true;
}
//========RESOLUCOES========//
if (modoJanelaAtivo == 1) {
telaCheiaAtivada = false;
} else {
telaCheiaAtivada = true;
}
if (PlayerPrefs.HasKey ("RESOLUCAO")) {
resolucaoSalveIndex = PlayerPrefs.GetInt ("RESOLUCAO");
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
Resolucoes.value = resolucaoSalveIndex;
} else {
resolucaoSalveIndex = (resolucoesSuportadas.Length -1);
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
PlayerPrefs.SetInt ("RESOLUCAO", resolucaoSalveIndex);
Resolucoes.value = resolucaoSalveIndex;
}
//=========QUALIDADES=========//
if (PlayerPrefs.HasKey ("qualidadeGrafica")) {
qualidadeGrafica = PlayerPrefs.GetInt ("qualidadeGrafica");
QualitySettings.SetQualityLevel(qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
} else {
QualitySettings.SetQualityLevel((QualitySettings.names.Length-1));
qualidadeGrafica = (QualitySettings.names.Length-1);
PlayerPrefs.SetInt ("qualidadeGrafica", qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
}
// =========SETAR BOTOES==========//
BotaoJogar.onClick = new Button.ButtonClickedEvent();
BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
BotaoSair.onClick = new Button.ButtonClickedEvent();
BotaoVoltar.onClick = new Button.ButtonClickedEvent();
BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
BotaoJogar.onClick.AddListener(() => Jogar());
BotaoOpcoes.onClick.AddListener(() => Opcoes(true));
BotaoSair.onClick.AddListener(() => Sair());
BotaoVoltar.onClick.AddListener(() => Opcoes(false));
BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
}
//=========VOIDS DE CHECAGEM==========//
private void ChecarResolucoes(){
Resolution[] resolucoesSuportadas = Screen.resolutions;
Resolucoes.options.Clear ();
for(int y = 0; y < resolucoesSuportadas.Length; y++){
Resolucoes.options.Add(new Dropdown.OptionData() { text = resolucoesSuportadas[y].width + "x" + resolucoesSuportadas[y].height });
}
Resolucoes.captionText.text = "Resolucao";
}
private void AjustarQualidades(){
string[] nomes = QualitySettings.names;
Qualidades.options.Clear ();
for(int y = 0; y < nomes.Length; y++){
Qualidades.options.Add(new Dropdown.OptionData() { text = nomes[y] });
}
Qualidades.captionText.text = "Qualidade";
}
private void Opcoes(bool ativarOP){
BotaoJogar.gameObject.SetActive (!ativarOP);
BotaoOpcoes.gameObject.SetActive (!ativarOP);
BotaoSair.gameObject.SetActive (!ativarOP);
BotaoSalvar.gameObject.SetActive (!ativarOP);
BotaoCarregar.gameObject.SetActive (!ativarOP);
//
textoVol.gameObject.SetActive (ativarOP);
BarraVolume.gameObject.SetActive (ativarOP);
CaixaModoJanela.gameObject.SetActive (ativarOP);
Resolucoes.gameObject.SetActive (ativarOP);
Qualidades.gameObject.SetActive (ativarOP);
BotaoVoltar.gameObject.SetActive (ativarOP);
BotaoSalvarPref.gameObject.SetActive (ativarOP);
}
//=========VOIDS DE SALVAMENTO==========//
private void SalvarPreferencias(){
if (CaixaModoJanela.isOn == true) {
modoJanelaAtivo = 1;
telaCheiaAtivada = false;
} else {
modoJanelaAtivo = 0;
telaCheiaAtivada = true;
}
PlayerPrefs.SetFloat ("VOLUME", BarraVolume.value);
PlayerPrefs.SetInt ("qualidadeGrafica", Qualidades.value);
PlayerPrefs.SetInt ("modoJanela", modoJanelaAtivo);
PlayerPrefs.SetInt ("RESOLUCAO", Resolucoes.value);
resolucaoSalveIndex = Resolucoes.value;
AplicarPreferencias ();
}
private void AplicarPreferencias(){
VOLUME = PlayerPrefs.GetFloat ("VOLUME");
QualitySettings.SetQualityLevel(PlayerPrefs.GetInt ("qualidadeGrafica"));
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
}
//===========VOIDS NORMAIS=========//
void Update(){
if (SceneManager.GetActiveScene ().name != nomeDaCena) {
AudioListener.volume = VOLUME;
Destroy (gameObject);
}
}
private void Jogar(){
SceneManager.LoadScene (nomeCenaJogo);
private void Save() //Void que salva
{
BinaryFormatter binario = new BinaryFormatter();
FileStream arquivo = File.Create(DiretorioDoArquivo); //Aqui, criamos o arquivo
DadosDoJogo dados = new DadosDoJogo(); //"DadosDoJogo" é o nome da classe que iremos acessar, ao qual criamos anteriormente
dados.Int = VariavelInteira; //"dados.Int", é assim que acessamos uma variavel da nossa classe, para setar o valor dela, daí é só pegar e igualar com uma variavel do seu script.
dados.Float = VariavelDecimal;
dados.String = VariavelTexto;
dados.Bool = VariavelBooleana;
binario.Serialize(arquivo, dados);
arquivo.Close(); //Aqui terminamos a leitura do arquivo.
private void Load() // Void que carrega
{
if (File.Exists(DiretorioDoArquivo) == true) //Aqui verificamos se existe um arquivo para ser carregado. se existir, prosseguimos
{
BinaryFormatter binario = new BinaryFormatter();
FileStream arquivo = File.Open(DiretorioDoArquivo, FileMode.Open); //Aqui abrimos o arquivo
DadosDoJogo dados = (DadosDoJogo)binario.Deserialize(arquivo); //Aqui meio que descriptografamos o arquivo
VariavelInteira = dados.Int; //Aqui pegamos o valor salvo no arquivo e trazemos para nosso script.
VariavelDecimal = dados.Float;
VariavelTexto = dados.String;
VariavelBooleana = dados.Bool;
Marcador.isOn = VariavelBooleana;
CampoTexto.text = VariavelTexto;
arquivo.Close(); //Aqui fechamos a leitura
}
}
private void Sair(){
Application.Quit ();
}
}
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;
public class MENU : MonoBehaviour {
public Button BotaoJogar, BotaoOpcoes, BotaoSair, BotaoSalvar, BotaoCarregar;
[Space(20)]
public Slider BarraVolume;
public Toggle CaixaModoJanela;
public Dropdown Resolucoes, Qualidades;
public Button BotaoVoltar, BotaoSalvarPref;
[Space(20)]
public Text textoVol;
public string nomeCenaJogo = "CENA1";
private string nomeDaCena;
private float VOLUME;
private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
private bool telaCheiaAtivada;
private Resolution[] resolucoesSuportadas;
void Awake(){
DontDestroyOnLoad (transform.gameObject);
resolucoesSuportadas = Screen.resolutions;
}
void Start () {
Opcoes (false);
ChecarResolucoes ();
AjustarQualidades ();
//
if (PlayerPrefs.HasKey ("RESOLUCAO")) {
int numResoluc = PlayerPrefs.GetInt ("RESOLUCAO");
if (resolucoesSuportadas.Length <= numResoluc) {
PlayerPrefs.DeleteKey ("RESOLUCAO");
}
}
//
nomeDaCena = SceneManager.GetActiveScene ().name;
Cursor.visible = true;
Time.timeScale = 1;
//
BarraVolume.minValue = 0;
BarraVolume.maxValue = 1;
//=============== SAVES===========//
if (PlayerPrefs.HasKey ("VOLUME")) {
VOLUME = PlayerPrefs.GetFloat ("VOLUME");
BarraVolume.value = VOLUME;
} else {
PlayerPrefs.SetFloat ("VOLUME", 1);
BarraVolume.value = 1;
}
//=============MODO JANELA===========//
if (PlayerPrefs.HasKey ("modoJanela")) {
modoJanelaAtivo = PlayerPrefs.GetInt ("modoJanela");
if (modoJanelaAtivo == 1) {
Screen.fullScreen = false;
CaixaModoJanela.isOn = true;
} else {
Screen.fullScreen = true;
CaixaModoJanela.isOn = false;
}
} else {
modoJanelaAtivo = 0;
PlayerPrefs.SetInt ("modoJanela", modoJanelaAtivo);
CaixaModoJanela.isOn = false;
Screen.fullScreen = true;
}
//========RESOLUCOES========//
if (modoJanelaAtivo == 1) {
telaCheiaAtivada = false;
} else {
telaCheiaAtivada = true;
}
if (PlayerPrefs.HasKey ("RESOLUCAO")) {
resolucaoSalveIndex = PlayerPrefs.GetInt ("RESOLUCAO");
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
Resolucoes.value = resolucaoSalveIndex;
} else {
resolucaoSalveIndex = (resolucoesSuportadas.Length -1);
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
PlayerPrefs.SetInt ("RESOLUCAO", resolucaoSalveIndex);
Resolucoes.value = resolucaoSalveIndex;
}
//=========QUALIDADES=========//
if (PlayerPrefs.HasKey ("qualidadeGrafica")) {
qualidadeGrafica = PlayerPrefs.GetInt ("qualidadeGrafica");
QualitySettings.SetQualityLevel(qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
} else {
QualitySettings.SetQualityLevel((QualitySettings.names.Length-1));
qualidadeGrafica = (QualitySettings.names.Length-1);
PlayerPrefs.SetInt ("qualidadeGrafica", qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
}
// =========SETAR BOTOES==========//
BotaoJogar.onClick = new Button.ButtonClickedEvent();
BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
BotaoSair.onClick = new Button.ButtonClickedEvent();
BotaoVoltar.onClick = new Button.ButtonClickedEvent();
BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
BotaoJogar.onClick.AddListener(() => Jogar());
BotaoOpcoes.onClick.AddListener(() => Opcoes(true));
BotaoSair.onClick.AddListener(() => Sair());
BotaoVoltar.onClick.AddListener(() => Opcoes(false));
BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
}
//=========VOIDS DE CHECAGEM==========//
private void ChecarResolucoes(){
Resolution[] resolucoesSuportadas = Screen.resolutions;
Resolucoes.options.Clear ();
for(int y = 0; y < resolucoesSuportadas.Length; y++){
Resolucoes.options.Add(new Dropdown.OptionData() { text = resolucoesSuportadas[y].width + "x" + resolucoesSuportadas[y].height });
}
Resolucoes.captionText.text = "Resolucao";
}
private void AjustarQualidades(){
string[] nomes = QualitySettings.names;
Qualidades.options.Clear ();
for(int y = 0; y < nomes.Length; y++){
Qualidades.options.Add(new Dropdown.OptionData() { text = nomes[y] });
}
Qualidades.captionText.text = "Qualidade";
}
private void Opcoes(bool ativarOP){
BotaoJogar.gameObject.SetActive (!ativarOP);
BotaoOpcoes.gameObject.SetActive (!ativarOP);
BotaoSair.gameObject.SetActive (!ativarOP);
BotaoSalvar.gameObject.SetActive (!ativarOP);
BotaoCarregar.gameObject.SetActive (!ativarOP);
//
textoVol.gameObject.SetActive (ativarOP);
BarraVolume.gameObject.SetActive (ativarOP);
CaixaModoJanela.gameObject.SetActive (ativarOP);
Resolucoes.gameObject.SetActive (ativarOP);
Qualidades.gameObject.SetActive (ativarOP);
BotaoVoltar.gameObject.SetActive (ativarOP);
BotaoSalvarPref.gameObject.SetActive (ativarOP);
}
//=========VOIDS DE SALVAMENTO==========//
private void SalvarPreferencias(){
if (CaixaModoJanela.isOn == true) {
modoJanelaAtivo = 1;
telaCheiaAtivada = false;
} else {
modoJanelaAtivo = 0;
telaCheiaAtivada = true;
}
PlayerPrefs.SetFloat ("VOLUME", BarraVolume.value);
PlayerPrefs.SetInt ("qualidadeGrafica", Qualidades.value);
PlayerPrefs.SetInt ("modoJanela", modoJanelaAtivo);
PlayerPrefs.SetInt ("RESOLUCAO", Resolucoes.value);
resolucaoSalveIndex = Resolucoes.value;
AplicarPreferencias ();
}
private void AplicarPreferencias(){
VOLUME = PlayerPrefs.GetFloat ("VOLUME");
QualitySettings.SetQualityLevel(PlayerPrefs.GetInt ("qualidadeGrafica"));
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
}
//===========VOIDS NORMAIS=========//
void Update(){
if (SceneManager.GetActiveScene ().name != nomeDaCena) {
AudioListener.volume = VOLUME;
Destroy (gameObject);
}
}
private void Jogar(){
SceneManager.LoadScene (nomeCenaJogo);
private void Save() //Void que salva
{
BinaryFormatter binario = new BinaryFormatter();
FileStream arquivo = File.Create(DiretorioDoArquivo); //Aqui, criamos o arquivo
DadosDoJogo dados = new DadosDoJogo(); //"DadosDoJogo" é o nome da classe que iremos acessar, ao qual criamos anteriormente
dados.Int = VariavelInteira; //"dados.Int", é assim que acessamos uma variavel da nossa classe, para setar o valor dela, daí é só pegar e igualar com uma variavel do seu script.
dados.Float = VariavelDecimal;
dados.String = VariavelTexto;
dados.Bool = VariavelBooleana;
binario.Serialize(arquivo, dados);
arquivo.Close(); //Aqui terminamos a leitura do arquivo.
private void Load() // Void que carrega
{
if (File.Exists(DiretorioDoArquivo) == true) //Aqui verificamos se existe um arquivo para ser carregado. se existir, prosseguimos
{
BinaryFormatter binario = new BinaryFormatter();
FileStream arquivo = File.Open(DiretorioDoArquivo, FileMode.Open); //Aqui abrimos o arquivo
DadosDoJogo dados = (DadosDoJogo)binario.Deserialize(arquivo); //Aqui meio que descriptografamos o arquivo
VariavelInteira = dados.Int; //Aqui pegamos o valor salvo no arquivo e trazemos para nosso script.
VariavelDecimal = dados.Float;
VariavelTexto = dados.String;
VariavelBooleana = dados.Bool;
Marcador.isOn = VariavelBooleana;
CampoTexto.text = VariavelTexto;
arquivo.Close(); //Aqui fechamos a leitura
}
}
private void Sair(){
Application.Quit ();
}
}
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Algum problema/dúvida, @Samuelostgamer?
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Samuelostgamer escreveu:using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;
public class MENU : MonoBehaviour {
public Button BotaoJogar, BotaoOpcoes, BotaoSair, BotaoSalvar, BotaoCarregar;
[Space(20)]
public Slider BarraVolume;
public Toggle CaixaModoJanela;
public Dropdown Resolucoes, Qualidades;
public Button BotaoVoltar, BotaoSalvarPref;
[Space(20)]
public Text textoVol;
public string nomeCenaJogo = "CENA1";
private string nomeDaCena;
private float VOLUME;
private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
private bool telaCheiaAtivada;
private Resolution[] resolucoesSuportadas;
void Awake(){
DontDestroyOnLoad (transform.gameObject);
resolucoesSuportadas = Screen.resolutions;
}
void Start () {
Opcoes (false);
ChecarResolucoes ();
AjustarQualidades ();
//
if (PlayerPrefs.HasKey ("RESOLUCAO")) {
int numResoluc = PlayerPrefs.GetInt ("RESOLUCAO");
if (resolucoesSuportadas.Length <= numResoluc) {
PlayerPrefs.DeleteKey ("RESOLUCAO");
}
}
//
nomeDaCena = SceneManager.GetActiveScene ().name;
Cursor.visible = true;
Time.timeScale = 1;
//
BarraVolume.minValue = 0;
BarraVolume.maxValue = 1;
//=============== SAVES===========//
if (PlayerPrefs.HasKey ("VOLUME")) {
VOLUME = PlayerPrefs.GetFloat ("VOLUME");
BarraVolume.value = VOLUME;
} else {
PlayerPrefs.SetFloat ("VOLUME", 1);
BarraVolume.value = 1;
}
//=============MODO JANELA===========//
if (PlayerPrefs.HasKey ("modoJanela")) {
modoJanelaAtivo = PlayerPrefs.GetInt ("modoJanela");
if (modoJanelaAtivo == 1) {
Screen.fullScreen = false;
CaixaModoJanela.isOn = true;
} else {
Screen.fullScreen = true;
CaixaModoJanela.isOn = false;
}
} else {
modoJanelaAtivo = 0;
PlayerPrefs.SetInt ("modoJanela", modoJanelaAtivo);
CaixaModoJanela.isOn = false;
Screen.fullScreen = true;
}
//========RESOLUCOES========//
if (modoJanelaAtivo == 1) {
telaCheiaAtivada = false;
} else {
telaCheiaAtivada = true;
}
if (PlayerPrefs.HasKey ("RESOLUCAO")) {
resolucaoSalveIndex = PlayerPrefs.GetInt ("RESOLUCAO");
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
Resolucoes.value = resolucaoSalveIndex;
} else {
resolucaoSalveIndex = (resolucoesSuportadas.Length -1);
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
PlayerPrefs.SetInt ("RESOLUCAO", resolucaoSalveIndex);
Resolucoes.value = resolucaoSalveIndex;
}
//=========QUALIDADES=========//
if (PlayerPrefs.HasKey ("qualidadeGrafica")) {
qualidadeGrafica = PlayerPrefs.GetInt ("qualidadeGrafica");
QualitySettings.SetQualityLevel(qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
} else {
QualitySettings.SetQualityLevel((QualitySettings.names.Length-1));
qualidadeGrafica = (QualitySettings.names.Length-1);
PlayerPrefs.SetInt ("qualidadeGrafica", qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
}
// =========SETAR BOTOES==========//
BotaoJogar.onClick = new Button.ButtonClickedEvent();
BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
BotaoSair.onClick = new Button.ButtonClickedEvent();
BotaoVoltar.onClick = new Button.ButtonClickedEvent();
BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
BotaoJogar.onClick.AddListener(() => Jogar());
BotaoOpcoes.onClick.AddListener(() => Opcoes(true));
BotaoSair.onClick.AddListener(() => Sair());
BotaoVoltar.onClick.AddListener(() => Opcoes(false));
BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
}
//=========VOIDS DE CHECAGEM==========//
private void ChecarResolucoes(){
Resolution[] resolucoesSuportadas = Screen.resolutions;
Resolucoes.options.Clear ();
for(int y = 0; y < resolucoesSuportadas.Length; y++){
Resolucoes.options.Add(new Dropdown.OptionData() { text = resolucoesSuportadas[y].width + "x" + resolucoesSuportadas[y].height });
}
Resolucoes.captionText.text = "Resolucao";
}
private void AjustarQualidades(){
string[] nomes = QualitySettings.names;
Qualidades.options.Clear ();
for(int y = 0; y < nomes.Length; y++){
Qualidades.options.Add(new Dropdown.OptionData() { text = nomes[y] });
}
Qualidades.captionText.text = "Qualidade";
}
private void Opcoes(bool ativarOP){
BotaoJogar.gameObject.SetActive (!ativarOP);
BotaoOpcoes.gameObject.SetActive (!ativarOP);
BotaoSair.gameObject.SetActive (!ativarOP);
BotaoSalvar.gameObject.SetActive (!ativarOP);
BotaoCarregar.gameObject.SetActive (!ativarOP);
//
textoVol.gameObject.SetActive (ativarOP);
BarraVolume.gameObject.SetActive (ativarOP);
CaixaModoJanela.gameObject.SetActive (ativarOP);
Resolucoes.gameObject.SetActive (ativarOP);
Qualidades.gameObject.SetActive (ativarOP);
BotaoVoltar.gameObject.SetActive (ativarOP);
BotaoSalvarPref.gameObject.SetActive (ativarOP);
}
//=========VOIDS DE SALVAMENTO==========//
private void SalvarPreferencias(){
if (CaixaModoJanela.isOn == true) {
modoJanelaAtivo = 1;
telaCheiaAtivada = false;
} else {
modoJanelaAtivo = 0;
telaCheiaAtivada = true;
}
PlayerPrefs.SetFloat ("VOLUME", BarraVolume.value);
PlayerPrefs.SetInt ("qualidadeGrafica", Qualidades.value);
PlayerPrefs.SetInt ("modoJanela", modoJanelaAtivo);
PlayerPrefs.SetInt ("RESOLUCAO", Resolucoes.value);
resolucaoSalveIndex = Resolucoes.value;
AplicarPreferencias ();
}
private void AplicarPreferencias(){
VOLUME = PlayerPrefs.GetFloat ("VOLUME");
QualitySettings.SetQualityLevel(PlayerPrefs.GetInt ("qualidadeGrafica"));
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
}
//===========VOIDS NORMAIS=========//
void Update(){
if (SceneManager.GetActiveScene ().name != nomeDaCena) {
AudioListener.volume = VOLUME;
Destroy (gameObject);
}
}
private void Jogar(){
SceneManager.LoadScene (nomeCenaJogo);
private void Save() //Void que salva
{
BinaryFormatter binario = new BinaryFormatter();
FileStream arquivo = File.Create(DiretorioDoArquivo); //Aqui, criamos o arquivo
DadosDoJogo dados = new DadosDoJogo(); //"DadosDoJogo" é o nome da classe que iremos acessar, ao qual criamos anteriormente
dados.Int = VariavelInteira; //"dados.Int", é assim que acessamos uma variavel da nossa classe, para setar o valor dela, daí é só pegar e igualar com uma variavel do seu script.
dados.Float = VariavelDecimal;
dados.String = VariavelTexto;
dados.Bool = VariavelBooleana;
binario.Serialize(arquivo, dados);
arquivo.Close(); //Aqui terminamos a leitura do arquivo.
private void Load() // Void que carrega
{
if (File.Exists(DiretorioDoArquivo) == true) //Aqui verificamos se existe um arquivo para ser carregado. se existir, prosseguimos
{
BinaryFormatter binario = new BinaryFormatter();
FileStream arquivo = File.Open(DiretorioDoArquivo, FileMode.Open); //Aqui abrimos o arquivo
DadosDoJogo dados = (DadosDoJogo)binario.Deserialize(arquivo); //Aqui meio que descriptografamos o arquivo
VariavelInteira = dados.Int; //Aqui pegamos o valor salvo no arquivo e trazemos para nosso script.
VariavelDecimal = dados.Float;
VariavelTexto = dados.String;
VariavelBooleana = dados.Bool;
Marcador.isOn = VariavelBooleana;
CampoTexto.text = VariavelTexto;
arquivo.Close(); //Aqui fechamos a leitura
}
}
private void Sair(){
Application.Quit ();
}
}
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
sim eu estou tentando colocar um save/load game junto com o script do menu mas da esse erro:Assets/Ultimate Survival/Textures/Players/Male/MENU.cs(182,7): error CS1525: Unexpected symbol `int', expecting `class', `delegate', `enum', `interface', `partial', or `struct'Souris escreveu:Algum problema/dúvida, @Samuelostgamer?
(me desculpe por esses erros mas nao sei usar o site kkk)
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
e tambem nao sei programar muito bem....*Samuelostgamer escreveu:sim eu estou tentando colocar um save/load game junto com o script do menu mas da esse erro:Assets/Ultimate Survival/Textures/Players/Male/MENU.cs(182,7): error CS1525: Unexpected symbol `int', expecting `class', `delegate', `enum', `interface', `partial', or `struct'Souris escreveu:Algum problema/dúvida, @Samuelostgamer?
(me desculpe por esses erros mas nao sei usar o site kkk)
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Primeiramente gostaria de agradecer ao Marcos pelo tutorial. Muito bem explicado e funcionou o script normal. Agora uma dúvida:
Como posso inserir neste script background com imagem para o menu, sendo 2 backgrounds diferentes 1 para o menu com os botões jogar, opções e sair e outro background para o menu opções?
Se alguém puder ajudar agradeço muito.
Obrigado
Como posso inserir neste script background com imagem para o menu, sendo 2 backgrounds diferentes 1 para o menu com os botões jogar, opções e sair e outro background para o menu opções?
Se alguém puder ajudar agradeço muito.
Obrigado
kenau- Iniciante
- PONTOS : 2386
REPUTAÇÃO : 2
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Quando eu uso esse script eu recebo a seguinte mensagem de erro:
NullReferenceException: Object reference not set to an instance of an object
MENU.Opcoes (Boolean ativarOP) (at Assets/Scripts/MENU.cs:135)
MENU.Start () (at Assets/Scripts/MENU.cs:32)
Como faço para ajustar (set) uma instância do objeto?
NullReferenceException: Object reference not set to an instance of an object
MENU.Opcoes (Boolean ativarOP) (at Assets/Scripts/MENU.cs:135)
MENU.Start () (at Assets/Scripts/MENU.cs:32)
Como faço para ajustar (set) uma instância do objeto?
kenau- Iniciante
- PONTOS : 2386
REPUTAÇÃO : 2
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
So linkar a variável ue certemente esta vazia em seu script(Se necessário reveja o video)
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Obrigado por responder, mas pelo que vi não há variável vazia em meu script. Não é isso?
kenau- Iniciante
- PONTOS : 2386
REPUTAÇÃO : 2
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
O menu deu tudo certo, porem qnd dou play o game perde a luz do cenario e onde teria as sombras fica todo escuro, sem luz nenhuma, o que posso fazer para resolver esse problema? escreveu:Estou tendo problemas qnd dou play no jogo, pois perde a luz ambiente, e onde teria sombras e luz fica preto por favor preciso da sua ajuda, se poder responder logo agradeço
marcos lorhan- Iniciante
- PONTOS : 2320
REPUTAÇÃO : 0
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
ta dando um probleminha quando aperto ESC e depois clico em qualquer lugar da tela ele fica com a seta do mause travado no meio da tela
kaufergomi- Iniciante
- PONTOS : 2343
REPUTAÇÃO : 2
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
kaufergomi escreveu:ta dando um probleminha quando aperto ESC e depois clico em qualquer lugar da tela ele fica com a seta do mause travado no meio da tela
Só no editor ou no jogo compilado também?
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Faltou selecionar a cena na janela de cenas em Build settingsdementeasdas escreveu:MARCOS SCHULTZ AJUDA COM O BUG DE CENA Scene 'CENA1' (-1) couldn't be loaded because it has not been added to the build settings or the AssetBundle has not been loaded.
francisco barroso- Programador
- PONTOS : 2612
REPUTAÇÃO : 59
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Dei build em um jogo usei esse menu e nao funcionou quando clico nos botao nao acontece nadaMarcosSchultz escreveu:kaufergomi escreveu:ta dando um probleminha quando aperto ESC e depois clico em qualquer lugar da tela ele fica com a seta do mause travado no meio da tela
Só no editor ou no jogo compilado também?
francisco barroso- Programador
- PONTOS : 2612
REPUTAÇÃO : 59
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
francisco barroso escreveu:Dei build em um jogo usei esse menu e nao funcionou quando clico nos botao nao acontece nadaMarcosSchultz escreveu:kaufergomi escreveu:ta dando um probleminha quando aperto ESC e depois clico em qualquer lugar da tela ele fica com a seta do mause travado no meio da tela
Só no editor ou no jogo compilado também?
Então tu não seguiu o tutorial.
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Ola vc poderia me ajudar, tipo eu queria desativar e ativar um canvas específicos já que eu tiver q criar vários pois ia acaba tendo vários botoes OBS: canvas de Hierarquias separadas desde já agradeço
UesleiUsl- Iniciante
- PONTOS : 2178
REPUTAÇÃO : 3
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Olá, poderia criar um tópico específico para a sua dúvida? Especificando mais detalhes se possível :DUesleiUsl escreveu:Ola vc poderia me ajudar, tipo eu queria desativar e ativar um canvas específicos já que eu tiver q criar vários pois ia acaba tendo vários botoes OBS: canvas de Hierarquias separadas desde já agradeço
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
O volume do meu menu n funciona, ele n altera
merkanbr- Iniciante
- PONTOS : 1861
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
merkanbr escreveu:O volume do meu menu n funciona, ele n altera
Realmente, tinha um probleminha no código...
Atualizei o código do tópico... tente agora com o novo código.
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Quando eu aperto em play o jogo fica bugado com texturas tudo escuras e pretas, o que eu faço?
AndreDeveloper- Iniciante
- PONTOS : 1667
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
AndreDeveloper escreveu:Quando eu aperto em play o jogo fica bugado com texturas tudo escuras e pretas, o que eu faço?
Basta você fazer bake na iluminação da cena que isso se resolve.
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Boa noite, senhores, comecei o curso de jogos na unip, e gostaria de agradecer por esse tutorial, fiz ele um pouco diferente do video, pois criei cenas separadas para o menu, e adaptei o codigo para o jogo que temos q apresentar, e deu super certo!!!!!!
f1ll3rpimpao- Iniciante
- PONTOS : 1685
REPUTAÇÃO : 2
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
MarcosSchultz escreveu:Fala galera, fiz este tutorial ensinando como fazer um menu principal na Unity 5 utilizando a nova UI...
Vídeo ensinando como usar
Olá, como sempre, tutorial muito bem explicado, queria saber como fazer pra adicionar uma imagem de background, no caso uma pro menu principal e outra para o menu de opções?
SamonBR- Iniciante
- PONTOS : 1863
REPUTAÇÃO : 1
Idade : 25
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Para usar background, tente usar o código abaixo... Mas lembrando, que as Imagens UI devem vir antes dos botões e tudo mais na hierarquia, para serem renderizadas atrás dos botões.
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;
public class MENU : MonoBehaviour {
public Button BotaoJogar, BotaoOpcoes, BotaoSair;
[Space(20)]
public Slider BarraVolume;
public Toggle CaixaModoJanela;
public Dropdown Resolucoes, Qualidades;
public Button BotaoVoltar, BotaoSalvarPref;
[Space(20)]
public Text textoVol;
public string nomeCenaJogo = "CENA1";
private string nomeDaCena;
private float VOLUME;
private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
private bool telaCheiaAtivada;
private Resolution[] resolucoesSuportadas;
[Space(20)]
public Image backgroundMenuPrincipal;
public Image backGroundMenuOpcoes;
void Awake() {
DontDestroyOnLoad(transform.gameObject);
resolucoesSuportadas = Screen.resolutions;
}
void Start() {
Opcoes(false);
ChecarResolucoes();
AjustarQualidades();
//
if (PlayerPrefs.HasKey("RESOLUCAO")) {
int numResoluc = PlayerPrefs.GetInt("RESOLUCAO");
if (resolucoesSuportadas.Length <= numResoluc) {
PlayerPrefs.DeleteKey("RESOLUCAO");
}
}
//
nomeDaCena = SceneManager.GetActiveScene().name;
Cursor.visible = true;
Time.timeScale = 1;
//
BarraVolume.minValue = 0;
BarraVolume.maxValue = 1;
//=============== SAVES===========//
if (PlayerPrefs.HasKey("VOLUME")) {
VOLUME = PlayerPrefs.GetFloat("VOLUME");
BarraVolume.value = VOLUME;
AudioListener.volume = VOLUME;
} else {
PlayerPrefs.SetFloat("VOLUME", 1);
BarraVolume.value = 1;
}
//=============MODO JANELA===========//
if (PlayerPrefs.HasKey("modoJanela")) {
modoJanelaAtivo = PlayerPrefs.GetInt("modoJanela");
if (modoJanelaAtivo == 1) {
Screen.fullScreen = false;
CaixaModoJanela.isOn = true;
} else {
Screen.fullScreen = true;
CaixaModoJanela.isOn = false;
}
} else {
modoJanelaAtivo = 0;
PlayerPrefs.SetInt("modoJanela", modoJanelaAtivo);
CaixaModoJanela.isOn = false;
Screen.fullScreen = true;
}
//========RESOLUCOES========//
if (modoJanelaAtivo == 1) {
telaCheiaAtivada = false;
} else {
telaCheiaAtivada = true;
}
if (PlayerPrefs.HasKey("RESOLUCAO")) {
resolucaoSalveIndex = PlayerPrefs.GetInt("RESOLUCAO");
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width, resolucoesSuportadas[resolucaoSalveIndex].height, telaCheiaAtivada);
Resolucoes.value = resolucaoSalveIndex;
} else {
resolucaoSalveIndex = (resolucoesSuportadas.Length - 1);
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width, resolucoesSuportadas[resolucaoSalveIndex].height, telaCheiaAtivada);
PlayerPrefs.SetInt("RESOLUCAO", resolucaoSalveIndex);
Resolucoes.value = resolucaoSalveIndex;
}
//=========QUALIDADES=========//
if (PlayerPrefs.HasKey("qualidadeGrafica")) {
qualidadeGrafica = PlayerPrefs.GetInt("qualidadeGrafica");
QualitySettings.SetQualityLevel(qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
} else {
QualitySettings.SetQualityLevel((QualitySettings.names.Length - 1));
qualidadeGrafica = (QualitySettings.names.Length - 1);
PlayerPrefs.SetInt("qualidadeGrafica", qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
}
// =========SETAR BOTOES==========//
BotaoJogar.onClick = new Button.ButtonClickedEvent();
BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
BotaoSair.onClick = new Button.ButtonClickedEvent();
BotaoVoltar.onClick = new Button.ButtonClickedEvent();
BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
BotaoJogar.onClick.AddListener(() => Jogar());
BotaoOpcoes.onClick.AddListener(() => Opcoes(true));
BotaoSair.onClick.AddListener(() => Sair());
BotaoVoltar.onClick.AddListener(() => Opcoes(false));
BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
}
//=========VOIDS DE CHECAGEM==========//
private void ChecarResolucoes() {
Resolution[] resolucoesSuportadas = Screen.resolutions;
Resolucoes.options.Clear();
for (int y = 0; y < resolucoesSuportadas.Length; y++) {
Resolucoes.options.Add(new Dropdown.OptionData() { text = resolucoesSuportadas[y].width + "x" + resolucoesSuportadas[y].height });
}
Resolucoes.captionText.text = "Resolucao";
}
private void AjustarQualidades() {
string[] nomes = QualitySettings.names;
Qualidades.options.Clear();
for (int y = 0; y < nomes.Length; y++) {
Qualidades.options.Add(new Dropdown.OptionData() { text = nomes[y] });
}
Qualidades.captionText.text = "Qualidade";
}
private void Opcoes(bool ativarOP) {
BotaoJogar.gameObject.SetActive(!ativarOP);
BotaoOpcoes.gameObject.SetActive(!ativarOP);
BotaoSair.gameObject.SetActive(!ativarOP);
//
textoVol.gameObject.SetActive(ativarOP);
BarraVolume.gameObject.SetActive(ativarOP);
CaixaModoJanela.gameObject.SetActive(ativarOP);
Resolucoes.gameObject.SetActive(ativarOP);
Qualidades.gameObject.SetActive(ativarOP);
BotaoVoltar.gameObject.SetActive(ativarOP);
BotaoSalvarPref.gameObject.SetActive(ativarOP);
//
backgroundMenuPrincipal.gameObject.SetActive(!ativarOP);
backGroundMenuOpcoes.gameObject.SetActive(ativarOP);
}
//=========VOIDS DE SALVAMENTO==========//
private void SalvarPreferencias() {
if (CaixaModoJanela.isOn == true) {
modoJanelaAtivo = 1;
telaCheiaAtivada = false;
} else {
modoJanelaAtivo = 0;
telaCheiaAtivada = true;
}
PlayerPrefs.SetFloat("VOLUME", BarraVolume.value);
PlayerPrefs.SetInt("qualidadeGrafica", Qualidades.value);
PlayerPrefs.SetInt("modoJanela", modoJanelaAtivo);
PlayerPrefs.SetInt("RESOLUCAO", Resolucoes.value);
resolucaoSalveIndex = Resolucoes.value;
AplicarPreferencias();
}
private void AplicarPreferencias() {
VOLUME = PlayerPrefs.GetFloat("VOLUME");
AudioListener.volume = VOLUME;
QualitySettings.SetQualityLevel(PlayerPrefs.GetInt("qualidadeGrafica"));
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width, resolucoesSuportadas[resolucaoSalveIndex].height, telaCheiaAtivada);
}
//===========VOIDS NORMAIS=========//
void Update() {
if (SceneManager.GetActiveScene().name != nomeDaCena) {
AudioListener.volume = VOLUME;
Destroy(gameObject);
}
}
private void Jogar() {
SceneManager.LoadScene(nomeCenaJogo);
}
private void Sair() {
Application.Quit();
}
}
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Tem como eu adicionar um sistema de FadeIn e FadeOut quando clicar em jogar, se tiver eu gostaria que você me ajudasse a como eu posso fazer isso.
BatataBugada54321- Membro
- PONTOS : 1635
REPUTAÇÃO : 8
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Quando eu compilo o jogo, o menu de resoluções duplica, triplica e até quadruplica algumas resoluções. Alguém saberia me informar o motivo?
Obrigado.
Segue imagem:
IMAGEM
Obrigado.
Segue imagem:
IMAGEM
ViniciusTKH- Membro
- PONTOS : 1580
REPUTAÇÃO : 4
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
ViniciusTKH escreveu:Quando eu compilo o jogo, o menu de resoluções duplica, triplica e até quadruplica algumas resoluções. Alguém saberia me informar o motivo?
Obrigado.
Segue imagem:
IMAGEM
Ué, que looolcura...
Qual veresão da Unity você está usando?
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Pois é, estou usando uma das versões mais recentes da Unity, Unity 2019.3.15f1
ViniciusTKH- Membro
- PONTOS : 1580
REPUTAÇÃO : 4
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
ViniciusTKH escreveu:Pois é, estou usando uma das versões mais recentes da Unity, Unity 2019.3.15f1
Para qual plataforma você está compilando o jogo? Se for por acaso mobile, não usa-se menu com resoluções nesses casos.
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Estou compilando para PC mesmo. Tem algum palpite do que pode ser? será q é alguma configuração da unity que gera esse bug??
ViniciusTKH- Membro
- PONTOS : 1580
REPUTAÇÃO : 4
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
ViniciusTKH escreveu:Estou compilando para PC mesmo. Tem algum palpite do que pode ser? será q é alguma configuração da unity que gera esse bug??
Não... meio que nenhuma resolução é "multiplicada" ao compilar.
Você teria que fazer um projeto vazio, só com o sistema de menu, e tentar compilar, para ver se o problema acontece.
Se o problema acontece, então, envie esse projeto para a gente, para que possamos verificar se o mesmo problema ocorre conosco... Se não ocorrer, provavelmente é algum possível bug na sua versão da Unity, e talvez seja necessário atualizá-la
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Boa tarde!!
Criei um projeto vazio, apenas com o sistema de Menu como você me aconselhou, mas o problema ainda persiste. Também atualizei a versão da Unity para uma deste ano, a Unity 2020.1.6f1, mas também não resolveu o problema.
IMAGEM
Criei um projeto vazio, apenas com o sistema de Menu como você me aconselhou, mas o problema ainda persiste. Também atualizei a versão da Unity para uma deste ano, a Unity 2020.1.6f1, mas também não resolveu o problema.
IMAGEM
ViniciusTKH- Membro
- PONTOS : 1580
REPUTAÇÃO : 4
Respeito as regras :
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
ViniciusTKH escreveu:Boa tarde!!
Criei um projeto vazio, apenas com o sistema de Menu como você me aconselhou, mas o problema ainda persiste. Também atualizei a versão da Unity para uma deste ano, a Unity 2020.1.6f1, mas também não resolveu o problema.
IMAGEM
hmm, isso é bem estranho. Mas vamos continuar a investigação.
Poderia me enviar esse projeto vazio para eu verificar?
Outra dúvida, qual é o seu PC/monitor/sistema operacional e tal?
Re: [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Vamos lá!
Segue o link do projeto vazio apenas com o MENU:
LINK PROJETO
=Utilizo um monitor da IO-DATA antigo, mas acredito que esse problema não seja no monitor, pois enviei para alguns amigos e o bug continua...
=Meu sistema operacional é um Windows 10 Pro.
Segue o link do projeto vazio apenas com o MENU:
LINK PROJETO
=Utilizo um monitor da IO-DATA antigo, mas acredito que esse problema não seja no monitor, pois enviei para alguns amigos e o bug continua...
=Meu sistema operacional é um Windows 10 Pro.
ViniciusTKH- Membro
- PONTOS : 1580
REPUTAÇÃO : 4
Respeito as regras :
Página 4 de 5 • 1, 2, 3, 4, 5
Tópicos semelhantes
» [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
» [TUTORIAL] Animaçoes "Animation" (UNITY 4 ou Superior )
» [TUTORIAL] Unity 2019.4 ou superior - PRESETS
» [TUTORIAL]"Morte" do personagem (Unity 5.3 ou Superior)
» [TUTORIAL] Menu pause ( AVANÇADO )
» [TUTORIAL] Animaçoes "Animation" (UNITY 4 ou Superior )
» [TUTORIAL] Unity 2019.4 ou superior - PRESETS
» [TUTORIAL]"Morte" do personagem (Unity 5.3 ou Superior)
» [TUTORIAL] Menu pause ( AVANÇADO )
Página 4 de 5
Permissões neste sub-fórum
Não podes responder a tópicos