[Unity] - Criar botão em C#
5 participantes
Página 1 de 1
[Unity] - Criar botão em C#
Olá a todos. Tudo Bem ?
Eu estou precisando criar um botão via C# dentro de um Panel e setar a imagem de fundo e o texto. Não estou encontrando nada no Google, que seja de fácil entendimento.
Alguém poderia se possível me ajudar com um código bem simples que cria um botão com texto e imagem dentro de um Panel.
Obrigado
Eu estou precisando criar um botão via C# dentro de um Panel e setar a imagem de fundo e o texto. Não estou encontrando nada no Google, que seja de fácil entendimento.
Alguém poderia se possível me ajudar com um código bem simples que cria um botão com texto e imagem dentro de um Panel.
Obrigado
Gilliard- Membro
- PONTOS : 2771
REPUTAÇÃO : 1
Respeito as regras :
Bruno- ProgramadorMaster
- PONTOS : 3415
REPUTAÇÃO : 142
Idade : 22
Áreas de atuação : C# Avançado, SQL Intermediário, Unity3D Intermediário, HTML Iniciante, CSS Iniciante e ASP.NET
Respeito as regras :
Bruno- ProgramadorMaster
- PONTOS : 3415
REPUTAÇÃO : 142
Idade : 22
Áreas de atuação : C# Avançado, SQL Intermediário, Unity3D Intermediário, HTML Iniciante, CSS Iniciante e ASP.NET
Respeito as regras :
Re: [Unity] - Criar botão em C#
Oi Bruno. Tudo Bem ?
Então Bruno. É que eu preciso ler um JSON e os valores retornados serão os textos dos botões. Tem como fazer isso bem simples ?
Obrigado
Então Bruno. É que eu preciso ler um JSON e os valores retornados serão os textos dos botões. Tem como fazer isso bem simples ?
Obrigado
Gilliard- Membro
- PONTOS : 2771
REPUTAÇÃO : 1
Respeito as regras :
Re: [Unity] - Criar botão em C#
Desculpe, esqueci de falar na mensagem anterior, eu estou utilizando um ( GridLayoutGroup ) em um Panel e dentro do Panel vai ter os botões criados via C#. Tem como fazer isso bem simples ?
OBS:. Desculpe, mas não encontrei a opção EDITAR no post.
Obrigado
OBS:. Desculpe, mas não encontrei a opção EDITAR no post.
Obrigado
Gilliard- Membro
- PONTOS : 2771
REPUTAÇÃO : 1
Respeito as regras :
Re: [Unity] - Criar botão em C#
Não Entende Muito Bem Vc Que Fazer Uma Variavel Receber O Texto Que Vc Digitou?
Bruno- ProgramadorMaster
- PONTOS : 3415
REPUTAÇÃO : 142
Idade : 22
Áreas de atuação : C# Avançado, SQL Intermediário, Unity3D Intermediário, HTML Iniciante, CSS Iniciante e ASP.NET
Respeito as regras :
Re: [Unity] - Criar botão em C#
Não, Eu fiz um desenho simples para ilustrar.
Obrigado
Obrigado
Gilliard- Membro
- PONTOS : 2771
REPUTAÇÃO : 1
Respeito as regras :
Re: [Unity] - Criar botão em C#
Creio que o mais facil seria criar um prefab do texto e instanciar ele com base na quantidade de elementos, ai voce muda o valor do y de cada texto com base na multiplicacao entre o numero de elementos * variavelAltura entre os textos, para setar o valor do texto com base no valor json retornado.
Re: [Unity] - Criar botão em C#
Então, eu não quero o script todo, eu apenas saber como fazer algo assim:
Apenas isso já me ajudaria bastante, o resto eu me viro.
Obrigado
- Código:
for(int i = 0; i < 5; i++)
{
// Eu preciso saber, como inserir um button como filho dentro de um PANEL dentro do COMPONENTE GridLayoutGroup
}
Apenas isso já me ajudaria bastante, o resto eu me viro.
Obrigado
Gilliard- Membro
- PONTOS : 2771
REPUTAÇÃO : 1
Respeito as regras :
Re: [Unity] - Criar botão em C#
Eu encontrei isso, mas não sei como aplicar ao meu caso:
- Código:
void Start (){
GameObject clone = new GameObject("Name");
clone.AddComponent<RectTransform>();
}
Gilliard- Membro
- PONTOS : 2771
REPUTAÇÃO : 1
Respeito as regras :
Re: [Unity] - Criar botão em C#
usando o GridLayoutGroup acredito que seria mais pratico e usar o for somente para fazer as instancias
usando o Transform.SetParent o Transform.parent
https://docs.unity3d.com/ScriptReference/Transform.SetParent.html
https://docs.unity3d.com/ScriptReference/Transform-parent.html
usando o Transform.SetParent o Transform.parent
- Código:
public transform panel;
public GameObject buttonPrefab;
for(int i = 0; i < 5; i++)
{
GameObject Newbutton = Instantiate(buttonPrefab) as GameObject;
Newbutton.SetParent(panel,false);
}
https://docs.unity3d.com/ScriptReference/Transform.SetParent.html
https://docs.unity3d.com/ScriptReference/Transform-parent.html
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [Unity] - Criar botão em C#
ok, Vou testar e posto os resultados.
Obrigado
Obrigado
Gilliard- Membro
- PONTOS : 2771
REPUTAÇÃO : 1
Respeito as regras :
Re: [Unity] - Criar botão em C#
Cara, não sei o que é e nunca usei o JSON.
Eu fiz um sistema de inventário que você pode tentar usar. É um Scroll View, mas Ele tem o Grid Layout Group também.
No lugar do content, você colocar o seu panel. Vai instanciar os botões como objeto filho dele.
Eu fiz um sistema de inventário que você pode tentar usar. É um Scroll View, mas Ele tem o Grid Layout Group também.
No lugar do content, você colocar o seu panel. Vai instanciar os botões como objeto filho dele.
- Código:
public class Inventario : MonoBehaviour {
public RectTransform content;
public List<GameObject> botoes;
public static int indBotao;
public GameObject objetoBotao;
public GameObject objetoAve;
public float scaleX, scaleY, scaleZ;
// Use this for initialization
void Start () {
scaleX = 1;
scaleY = 1;
scaleZ = 1;
}
// Update is called once per frame
void Update () {
objetoBotao = GameObject.FindGameObjectWithTag("BtnNovo");
objetoAve = GameObject.FindGameObjectWithTag("ObjNovo");
if (objetoBotao != null && objetoAve != null)
{
AddBotao();
}
}
public void AddBotao ()
{
botoes.Add(objetoBotao);
DesenhaBotao();
}
public void DesenhaBotao ()
{
if (content.childCount < botoes.Count)
{
indBotao = content.childCount;
GameObject btn = Instantiate(botoes[content.childCount], content.position, Quaternion.identity, content.transform);
btn.transform.localScale = new Vector3(scaleX, scaleY, scaleZ);
}
}
}
JoelMJunior- MembroAvançado
- PONTOS : 2945
REPUTAÇÃO : 13
Respeito as regras :
Re: [Unity] - Criar botão em C#
weslleyFx escreveu:usando o GridLayoutGroup acredito que seria mais pratico e usar o for somente para fazer as instancias
usando o Transform.SetParent o Transform.parent
- Código:
public transform panel;
public GameObject buttonPrefab;
for(int i = 0; i < 5; i++)
{
GameObject Newbutton = Instantiate(buttonPrefab) as GameObject;
Newbutton.SetParent(panel,false);
}
Olá WeslleyFx. Tudo Bem ?
No seu código. eu preciso criar um Prefab com nome ( buttonPrefab ) e dentro dele eu atrelo um botão ? Eu atrelei este código C# ao meu Panel.
Obrigado
Gilliard- Membro
- PONTOS : 2771
REPUTAÇÃO : 1
Respeito as regras :
Tópicos semelhantes
» criar um piano no unity
» Da pra criar Apps na Unity?
» Criar Animações (Vídeo) com Unity
» Não estou conseguindo criar uma conta na unity?
» Unity: Não consigo criar meu projeto
» Da pra criar Apps na Unity?
» Criar Animações (Vídeo) com Unity
» Não estou conseguindo criar uma conta na unity?
» Unity: Não consigo criar meu projeto
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos