[RESOLVIDO] Loop Event Onclick
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Loop Event Onclick
Alguém saberia me dizer como passar funções para o onclick ,tipo uma foreach nas funções
tipo eu tenho 1 menu onde vai "3" personagem, ao escolher o player 2 ele repassa as funções para os botões de acordo com o mesmo.
estou tentando apenas usar 1 canvas como mostra a imagem.
tipo eu tenho 1 menu onde vai "3" personagem, ao escolher o player 2 ele repassa as funções para os botões de acordo com o mesmo.
estou tentando apenas usar 1 canvas como mostra a imagem.
ffabim- MembroAvançado
- PONTOS : 3355
REPUTAÇÃO : 69
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
você Que passar funções para o "Onclick" Via Script?
- Código:
if (PlayerEscolhido == 1)
{
Botao.onClick = new Button.ButtonClickedEvent();
Botao.onClick.AddListener(() => MostrarPersonagem1());
}
else if (PlayerEscolhido == 2)
{
Botao.onClick = new Button.ButtonClickedEvent();
Botao.onClick.AddListener(() => MostrarPersonagem2());
}
else if (PlayerEscolhido == 3)
{
Botao.onClick = new Button.ButtonClickedEvent();
Botao.onClick.AddListener(() => MostrarPersonagem3());
}
Magnatah- Instrutor
- PONTOS : 3548
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
isso mesmo, irei citar um exemplo aqui com um de gameobject
ao apertar no anterior ou próximo ele ativa e desativa certo, mais pra essa ocasião, ele setaria as funcoes que vão estar no functioncustons 1,2 e 3 para os botoes dai ficando em loop entre eles..na real nem sei se é possível assim
ao apertar no anterior ou próximo ele ativa e desativa certo, mais pra essa ocasião, ele setaria as funcoes que vão estar no functioncustons 1,2 e 3 para os botoes dai ficando em loop entre eles..na real nem sei se é possível assim
- Código:
void Start(){
proximo.onClick.AddListener(() => { ProximaSelecao(); });
anterior.onClick.AddListener(() => { AnteriorSelecao(); });
void ProximaSelecao()
{
Selecao++;
if (Selecao > obj.Length - 1){
Selecao = 0;
}
}
void AnteriorSelecao()
{
Selecao--;
if (Selecao < 0){
Selecao = obj.Length -1;
}
}
ffabim- MembroAvançado
- PONTOS : 3355
REPUTAÇÃO : 69
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
Os "FunctionCustons" Usam o Mesmo o Script Ou Cada Um Tem o Seu?
Magnatah- Instrutor
- PONTOS : 3548
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
eu uso o mesmo script para cada FunctionCustons. mais algo me diz que eu deveria colocar 1 script diferente pra cada functioncustons, sei lá só um pensamento.Magnatah escreveu:Os "FunctionCustons" Usam o Mesmo o Script Ou Cada Um Tem o Seu?
ffabim- MembroAvançado
- PONTOS : 3355
REPUTAÇÃO : 69
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
ffabim escreveu:eu uso o mesmo script para cada FunctionCustons. mais algo me diz que eu deveria colocar 1 script diferente pra cada functioncustons, sei lá só um pensamento.Magnatah escreveu:Os "FunctionCustons" Usam o Mesmo o Script Ou Cada Um Tem o Seu?
Ou Você Pode Ter o Mesmo Script Com Objetos deferentes. (O Tipo De Objeto Que Eu Estou Falando É Abstrato).
(Não Sei Se Você Entende Ou Não o Conceito "Objeto", Mas Vou Dar Um Exemplo, Para Tirar As Dúvidas Caso Você Ou Alguém Precise).
- Explicação Básica Sobre POO:
==========================================================================
Exemplo:
Vamos Supor Que Eu Quero Criar Um Script Que Cria Uma Bola De Futebol.
Nesse Script Vamos Definir os Atributos e Métodos Dessa Bola.
Atributos -> Para Os Atributos Você se Pergunta, "o Que Uma Bola Tem?"
Os Atributos Podem Ser: a Cor Da Bola, o Tamanho da Bola e a Marca da Bola.
Métodos() -> Para Os Métodos Você Se Pergunta, "O Que Uma Bola Pode Fazer?"
Os Métodos Pode Ser: Chutar a Bola, Encher a Bola ou Furar a Bola
e Montamos Um Simples Script:
Class TipoDeBola
//Atributos
Cor
Tamanho
Marca
//Métodos
Chutar()
Encher()
Furar()
Fim Class
Com O Script Pronto Podemos Ter Quantos Tipos Do "Objeto" Bola Que Quisermos.
Exemplo:
//Com Isso Criamos Uma Nova Bola
TipoDeBola Bola_1 = new TipoDeBola()
Bola_1.Cor = Azul
Bola_1.Tamanho = Normal
Bola_1.Marca = Adidas
//Nesse Caso Ja Temos a segunda Bola
TipoDeBola Bola_2 = new TipoDeBola()
Bola_2.Cor = Vermelha
Bola_2.Tamanho = Pequena
Bola_2.Marca = Nike
==========================================================================
Da Pra Entender O Que Eu Quero Dizer?
Com 1 Script da Pra Ter Múltiplos Objetos Sólidos Ou Abstrato Como é No Caso Do Seu Script "Active".
Não Precisa Ter 3 Scripts se Só Com 1 Dá Pra Resolver Tudo.
Parece até Um Tutorial kkkkkkk
Magnatah- Instrutor
- PONTOS : 3548
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
- Spoiler:
- ffabim escreveu:isso mesmo, irei citar um exemplo aqui com um de gameobject
ao apertar no anterior ou próximo ele ativa e desativa certo, mais pra essa ocasião, ele setaria as funcoes que vão estar no functioncustons 1,2 e 3 para os botoes dai ficando em loop entre eles..na real nem sei se é possível assim- Código:
void Start(){
proximo.onClick.AddListener(() => { ProximaSelecao(); });
anterior.onClick.AddListener(() => { AnteriorSelecao(); });
void ProximaSelecao()
{
Selecao++;
if (Selecao > obj.Length - 1){
Selecao = 0;
}
}
void AnteriorSelecao()
{
Selecao--;
if (Selecao < 0){
Selecao = obj.Length -1;
}
}
Vamos Supor Que o Segundo "Personagem" Esteja Selecionado, Você Que Pegar As Funções Desse Segundo Personagem e Passar Para Alguns Botões ?
Magnatah- Instrutor
- PONTOS : 3548
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
isso, tou tentando fazer umas gambiarras aqui pra ver se algo funciona.
ffabim- MembroAvançado
- PONTOS : 3355
REPUTAÇÃO : 69
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
kk já nem sei mais o que eu tou fazendo, mais a ideia seria essa, mas da esses dois erros saberia me dizer?
o primeiro refere as void abaixo.
o primeiro refere as void abaixo.
- Código:
int play;
public void anterior()
{
change(false);
}
public void proximo()
{
change(true);
}
void change(bool nex)
{
if (play==0)
{
Button1.onClick.AddListener(() => { CustomPlayer1(); });
}
else if (play==1)
{
Button2.onClick.AddListener(() => { CustomPlayer2(); });
}
else if (play==2)
{
Button3.onClick.AddListener(() => { CustomPlayer3(); });
}
play = nex ? play + 1 : play - 1;
if(play >= Count)
{
play = 0;
}
else if(play < 0)
{
play = Count - 1;
}
void CustomPlayer1()
}
void CustomPlayer2()
}
void CustomPlayer3()
}
ffabim- MembroAvançado
- PONTOS : 3355
REPUTAÇÃO : 69
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
Essas Voids Estão Bagunçadas, Eu Não Entendei O Que Elas Fazem Ali.
void CustomPlayer1()
void CustomPlayer2()
void CustomPlayer3()
Desse Jeito é Capaz de parar o Erro.
void CustomPlayer1()
void CustomPlayer2()
void CustomPlayer3()
Desse Jeito é Capaz de parar o Erro.
- Código:
int play;
public void anterior()
{
change(false);
}
public void proximo()
{
change(true);
}
void change(bool nex)
{
play = nex ? play + 1 : play - 1;
if (play == 0)
{
Button1.onClick.AddListener(() => { CustomPlayer1(); });
}
else if (play == 1)
{
Button2.onClick.AddListener(() => { CustomPlayer2(); });
}
else if (play == 2)
{
Button3.onClick.AddListener(() => { CustomPlayer3(); });
}
if (play >= Count)
{
play = 0;
}
else if (play < 0)
{
play = Count - 1;
}
}
Magnatah- Instrutor
- PONTOS : 3548
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
ffabim- MembroAvançado
- PONTOS : 3355
REPUTAÇÃO : 69
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
Mano, eu já tive esse problema. Mas não tenho mais, pelo simples fato de eu colocar o Canvas dentro do prefab e "conectá-lo" via código no próprio prefab. Tenta isso, vê se resolve..
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Loop Event Onclick
Antes De Dar Play, Vai No Script => Método Start e Altere Os Trechos Find("") De Acordo Com Os Nomes Dos Botões Que Você Colocou.
Vê Se Pode Te Ajudar, Já Testei e Está Pegando:
Vê Se Pode Te Ajudar, Já Testei e Está Pegando:
- Código:
using UnityEngine;
using UnityEngine.UI;
public class teste : MonoBehaviour {
//===== Atributos =====//
private int NextOrBack = 0;
private bool EstaNoMenuDeSelecaoDePeronage = true;
private Button BotaoAnterior, BotaoProximo, Button1, Button2, Button3;
//===== Metodos =====//
private void Start()
{
//Instanciando
Button1 = GameObject.Find("Botao1").GetComponent<Button>();
Button2 = GameObject.Find("Botao2").GetComponent<Button>();
Button3 = GameObject.Find("Botao3").GetComponent<Button>();
BotaoAnterior = GameObject.Find("BotaoAnterior").GetComponent<Button>();
BotaoProximo = GameObject.Find("BotaoProximo").GetComponent<Button>();
BotaoAnterior.onClick.AddListener(() => anterior());
BotaoProximo.onClick.AddListener(() => proximo());
change();
}//End_Start
public void anterior()
{
NextOrBack--;
change();
}//END
public void proximo()
{
NextOrBack++;
change();
}//END
public void change()
{
//Limites
if (NextOrBack <= 0)
{
NextOrBack = 0;
}
if (NextOrBack >= 2)
{
NextOrBack = 2;
}
//Verificação
if (NextOrBack == 0)
{
Button1.onClick.AddListener(() => CustomPlayer1());
Debug.Log("Botão 1 Recebe a CustonPlayer1()");
}
else if (NextOrBack == 1)
{
Button2.onClick.AddListener(() => CustomPlayer2());
Debug.Log("Botão 2 Recebe a CustonPlayer2()");
}
else if (NextOrBack == 2)
{
Button3.onClick.AddListener(() => CustomPlayer3());
Debug.Log("Botão 3 Recebe a CustonPlayer3()");
}
}//END
public void CustomPlayer1()
{
Debug.Log("CustomPlayer1() Chamada");
}//END
public void CustomPlayer2()
{
Debug.Log("CustomPlayer2() Chamada");
}//END
public void CustomPlayer3()
{
Debug.Log("CustomPlayer3() Chamada");
}//END
}//End_Class
Magnatah- Instrutor
- PONTOS : 3548
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
ffabim- MembroAvançado
- PONTOS : 3355
REPUTAÇÃO : 69
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Como fazer um loop na animação?
» [RESOLVIDO] Animação se repetindo mesmo com loop time desmarcado
» [RESOLVIDO] DUVIDA SOBRE EVENT TRIGGER!!
» [RESOLVIDO] Alterar função no Event Trigger
» Como sair desse loop?
» [RESOLVIDO] Animação se repetindo mesmo com loop time desmarcado
» [RESOLVIDO] DUVIDA SOBRE EVENT TRIGGER!!
» [RESOLVIDO] Alterar função no Event Trigger
» Como sair desse loop?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos