Ativar Canvas C#
5 participantes
Página 1 de 1
Ativar Canvas C#
Olá a todos.
Eu criei um script c# e inseri na camera e gostaria de ativar uma Canvas, mas não estou conseguindo, já busquei no Google e nada.
Estou fazendo assim:
Obrigado
Eu criei um script c# e inseri na camera e gostaria de ativar uma Canvas, mas não estou conseguindo, já busquei no Google e nada.
Estou fazendo assim:
- Código:
void OnMouseDown ()
{
Debug.Log ("Exibir Menu");
GameObject MeuMenu = GameObject.Find ("MeuMenuCanvas");
MeuMenu.SetActive (true);
}
Obrigado
Gilliard- Membro
- PONTOS : 2533
REPUTAÇÃO : 1
Respeito as regras :
Re: Ativar Canvas C#
Posta O Script Td
Bruno- ProgramadorMaster
- PONTOS : 3177
REPUTAÇÃO : 142
Idade : 21
Áreas de atuação : C# Avançado, SQL Intermediário, Unity3D Intermediário, HTML Iniciante, CSS Iniciante e ASP.NET
Respeito as regras :
Re: Ativar Canvas C#
A minha cena esta vazia, apenas tenho o canvas com um botão, no canvas eu mudei o nome para MeuMenuCanvas e dentro da camera esa o script com o trecho de código que postei, não tem mais nada.
Obrigado
Obrigado
Gilliard- Membro
- PONTOS : 2533
REPUTAÇÃO : 1
Respeito as regras :
Re: Ativar Canvas C#
vamos la entao...Gilliard escreveu:A minha cena esta vazia, apenas tenho o canvas com um botão, no canvas eu mudei o nome para MeuMenuCanvas e dentro da camera esa o script com o trecho de código que postei, não tem mais nada.
Obrigado
pelo que eu entendi..vc quer apertar o butao do teclado e aparecer o button certo...ou canvas que seja...entao faz assim
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class TestCanvas : MonoBehaviour {
public Canvas oquevaiaparecer;
public bool ativado;
void Start(){
oquevaiaparecer.enabled = false;
}
void Update(){
if(ativado == true){
oquevaiaparecer.enabled = true;
}else{
oquevaiaparecer.enabled = false;
}
if(input.GetKeyDown(KeyCode.E)){
ativado = !ativado;
}
}
}
SEMPRE QUE VC APERTAR A LETRA "E" ELE VAI APARECER...SEMPRE QUE APERTAR DENOVO DESAPARECE
LINK O CANVAS NO INSPECTOR
SCRIPT COM O NOME TestCanvas
Re: Ativar Canvas C#
Legal, mas tem como fazer isso utilizando por exemplo um GetComponent ? Assim eu poderia exibir e esconder vários canvas ao mesmo tempo.
Gilliard- Membro
- PONTOS : 2533
REPUTAÇÃO : 1
Respeito as regras :
Re: Ativar Canvas C#
rapaz...vc poderia usar varias bool's ...e ativar mais canvas...vc cria...varios canvas...a linka eles no script...e usar o bool para ativar eles....ai vc ativa e desativa ate mil se quizer...Gilliard escreveu:Legal, mas tem como fazer isso utilizando por exemplo um GetComponent ? Assim eu poderia exibir e esconder vários canvas ao mesmo tempo.
Re: Ativar Canvas C#
Sim, Com certeza é uma solução utilizar bool, mas eu quero aprender sobre o uso do GetComponent, teria como fazer isso utilizando GetComponent ? É para eu estudar e entender na pratica.
Obrigado
Obrigado
Gilliard- Membro
- PONTOS : 2533
REPUTAÇÃO : 1
Respeito as regras :
Re: Ativar Canvas C#
vai no canal do youtube do Marcos SchultzGilliard escreveu:Sim, Com certeza é uma solução utilizar bool, mas eu quero aprender sobre o uso do GetComponent, teria como fazer isso utilizando GetComponent ? É para eu estudar e entender na pratica.
Obrigado
la se eu nao me engano ele ensina
se nao
qualquer tutorial do youtube sobre GetComponent do unity 5 vc aprende
vc nao precisa saber sobre isssso exatamente...mas aprendendo sobre...vc aplica crtinho...eu faco assim..boa sorte amigo :bounce: :bounce:
Re: Ativar Canvas C#
Gilliard escreveu:Olá a todos.
Eu criei um script c# e inseri na camera e gostaria de ativar uma Canvas, mas não estou conseguindo, já busquei no Google e nada.
Estou fazendo assim:
- Código:
void OnMouseDown ()
{
Debug.Log ("Exibir Menu");
GameObject MeuMenu = GameObject.Find ("MeuMenuCanvas");
MeuMenu.SetActive (true);
}
Obrigado
tente trocar o canvas por gameObject:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class gerenciadorCenas : MonoBehaviour {
public GameObject popupCanvas;
public bool popupbool;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// se eu apertar o botao ele vai destivar o meu canvas..
if(popupbool)
{
popup.SetActive(false);
}
}
// abaixo se eu estiver aperto o botão de fechar canvas entao ele retonar para popupbool
public void loadinggame(bool loaded)
{
popupbool = loaded;
}
}
Re: Ativar Canvas C#
fecirineu escreveu:Gilliard escreveu:Olá a todos.
Eu criei um script c# e inseri na camera e gostaria de ativar uma Canvas, mas não estou conseguindo, já busquei no Google e nada.
Estou fazendo assim:
- Código:
void OnMouseDown ()
{
Debug.Log ("Exibir Menu");
GameObject MeuMenu = GameObject.Find ("MeuMenuCanvas");
MeuMenu.SetActive (true);
}
Obrigado
tente trocar o canvas por gameObject:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class gerenciadorCenas : MonoBehaviour {
public GameObject popupCanvas;
public bool popupbool;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// se eu apertar o botao ele vai destivar o meu canvas..
if(popupbool)
{
popup.SetActive(false);
}
}
// abaixo se eu estiver aperto o botão de fechar canvas entao ele retonar para popupbool
public void loadinggame(bool loaded)
{
popupbool = loaded;
}
}
Olá fecirineu. Gostrei de sua idéia, o GameObject irá funcionar como um ( Gerenciador ), mas suponhamos que eu tenha 2 canvas com nome diferente, como eu faço para fechar ele separadamente ?
Gilliard- Membro
- PONTOS : 2533
REPUTAÇÃO : 1
Respeito as regras :
Re: Ativar Canvas C#
Gilliard escreveu:tente trocar o canvas por gameObject:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class gerenciadorCenas : MonoBehaviour {
public GameObject popupCanvas;
public bool popupbool;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// se eu apertar o botao ele vai destivar o meu canvas..
if(popupbool)
{
popup.SetActive(false);
}
}
// abaixo se eu estiver aperto o botão de fechar canvas entao ele retonar para popupbool
public void loadinggame(bool loaded)
{
popupbool = loaded;
}
}
Olá fecirineu. Gostrei de sua idéia, o GameObject irá funcionar como um ( Gerenciador ), mas suponhamos que eu tenha 2 canvas com nome diferente, como eu faço para fechar ele separadamente ?
Há vários métodos,você poderia criar 2 objetos diferentes,uma array, talvez um enum ;-; e etc
Um Exemplo de como seria por array:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class gerenciadorCenas : MonoBehaviour {
public GameObject[] popupCanvas;
public bool popupbool;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// se eu apertar o botao ele vai destivar o meu canvas..
if(popupbool)
{
popupCanvas[0].SetActive(false); // No caso no lugar do 0 seria algum elemento da array
popupCanvas[1].SetActive(false);
}
}
// abaixo se eu estiver aperto o botão de fechar canvas entao ele retonar para popupbool
public void loadinggame(bool loaded)
{
popupbool = loaded;
}
}
// Só que nesse caso você provavelmente precisaria de várias bools ou trocar a bool por uma int que guarde o EstadoAtual dos canvas...
Outro método de fazer isso é usando a própria UnityEngine.UI da unity
- Código:
using UnityEngine.UI;
public Canvas[] Hud;
bool Estado = true;
public void AtivarCanvas;
if (Estado == true){
Hud.enabled = true;
} else {
Hud.enabled = false;
}
// Não é um script completo...
// Provavelmente daria para usar o " ? " em vez de declarar um if...
Tópicos semelhantes
» Tocar no gameobject e ativar um canvas
» -[COMO FAZER UM CUBO PARA ATIVAR UM CANVAS QUANDO O PLAYER ENCOSTA NELE?]-
» Canvas
» canvas 2D
» Canvas UI
» -[COMO FAZER UM CUBO PARA ATIVAR UM CANVAS QUANDO O PLAYER ENCOSTA NELE?]-
» Canvas
» canvas 2D
» Canvas UI
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos