Como 'Despressionar' um botão?
4 participantes
Página 1 de 1
Como 'Despressionar' um botão?
Meu personagem anda até um certo ponto, quando chega lá eu quero que ele pare e a maneira mais fácil de fazer isso seria forçar um 'Pointer Up(PU)' do Evvent Trigger do meu Button (Canvas).
Mas eu não tenho ideia de como fazer isso.
Se eu conseguisse forçar isso, era só adicionar um objeto que bloqueia novos cliques e problema resolvido, mas mesmo que eu coloque esse objeto o botão continua sendo pressionado, então teria que forçar o 'PU' de qualquer jeito.
Alguma ideia?
Mas eu não tenho ideia de como fazer isso.
Se eu conseguisse forçar isso, era só adicionar um objeto que bloqueia novos cliques e problema resolvido, mas mesmo que eu coloque esse objeto o botão continua sendo pressionado, então teria que forçar o 'PU' de qualquer jeito.
Alguma ideia?
lesgoy- Mestre
- PONTOS : 3488
REPUTAÇÃO : 49
Respeito as regras :
Re: Como 'Despressionar' um botão?
Cria um GameObject coloque um collider com trigger ligar, cria um script e põe para acessar o player quando ele colidir no objeto com o script. usando: https://docs.unity3d.com/ScriptReference/Collider.OnTriggerEnter.html
Depois você criar uma animação com seu canvas dele normal e dele desativado para isso.
Ai você acessa com o cript do GameObject criado para ativar a animação que você criou por um tempo usando o:
https://docs.unity3d.com/ScriptReference/WaitForSeconds.html
e pois do tempo necessario ele ativa a animação do canvas operando normal.
Depois você criar uma animação com seu canvas dele normal e dele desativado para isso.
Ai você acessa com o cript do GameObject criado para ativar a animação que você criou por um tempo usando o:
https://docs.unity3d.com/ScriptReference/WaitForSeconds.html
e pois do tempo necessario ele ativa a animação do canvas operando normal.
Re: Como 'Despressionar' um botão?
´coloca uma variavel tipo Bool no script que faz ele se mover vou dar um exemplo, dai é so emcorporar no codigo
- Código:
Public Bool PararPersonagem = false;
public Float TempoParado = 3.0f; // tempo que o personagem vai ficar sem se mover
private Float cronometroParado;
Void Update{
if (pararPersonagem== true){
// aqui um codigo para anular o movimento se for nesesario
// Vai precisar de um cronometro para limitar o tempo que ele vai ficar parado
CronometroParado += Time.deltatime;
if (cronometroParado >= tempoParado){
PararPersonagem = false;
}
}else{
CronometroParado = 0; // reseta o Cronometro
// aqui demtro vc coloca a parte do codigo que vai fazer ele se movimentar
}
}
void OnTriguerEnter (Colider.Outher){
if (outher.CompareTag"Nome da tag do objeto que vai fazer ele parar"){
PararPersonagem = true;
}
}
Yuri Heinz- Avançado
- PONTOS : 3613
REPUTAÇÃO : 38
Idade : 28
Respeito as regras :
Re: Como 'Despressionar' um botão?
pode ser que eu tenha colocado alguma letra maiuscula ou minscula errada mais é so vc corrigir quando colocar no projeto, espero que ajude
Yuri Heinz- Avançado
- PONTOS : 3613
REPUTAÇÃO : 38
Idade : 28
Respeito as regras :
Re: Como 'Despressionar' um botão?
Gente vcs não entenderam kk
Eu não quero desativar o botão (Tipo desmarcar na aba inspector), eu só quero forçar uma ação de Pointer.Up, como se o usuario estivesse levantando o botão.
Aqui olha :
Quando eu levanto o botão(Solto ele, ponterUp) o Personagem para.
Não da pra eu simplesmente chamar a função no C# que esse PointerUp faz referencia pq se o botão continuar sendo pressionado o personagem ainda vai continuar andando.
Só quero forçar esse pointer Up
Eu não quero desativar o botão (Tipo desmarcar na aba inspector), eu só quero forçar uma ação de Pointer.Up, como se o usuario estivesse levantando o botão.
Aqui olha :
Quando eu levanto o botão(Solto ele, ponterUp) o Personagem para.
Não da pra eu simplesmente chamar a função no C# que esse PointerUp faz referencia pq se o botão continuar sendo pressionado o personagem ainda vai continuar andando.
Só quero forçar esse pointer Up
lesgoy- Mestre
- PONTOS : 3488
REPUTAÇÃO : 49
Respeito as regras :
Re: Como 'Despressionar' um botão?
coloca pra desativar o objeto do canvas inteiro, pro botão sumir da tela e depois aparecer mais tarde, tipo desativar o gameobject inteiro, vai dar menos dor de cabeca, ou tipo desativa em um frame e ativa no freme seguimte pelo codigo, dai provavelmente o botão volta como Up ao ser reativado, e nem vai dar pra notar que ele foi desativado
Yuri Heinz- Avançado
- PONTOS : 3613
REPUTAÇÃO : 38
Idade : 28
Respeito as regras :
Re: Como 'Despressionar' um botão?
Então vc pode pegar o seu EventTrigger e simplesmente chamar o método OnPointerUp
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Tópicos semelhantes
» Como que faço para rotacionar um objeto na posição do player como o cenario
» Gostaria de saber se já tem como colocar esse carro como mod no Spintires Mudrunners
» Como criar um Reflexo falso como do Sonic Adventure?
» Como usar GetComponent com string como parâmetro
» Como usar um Boneco como Terceira Pessoa
» Gostaria de saber se já tem como colocar esse carro como mod no Spintires Mudrunners
» Como criar um Reflexo falso como do Sonic Adventure?
» Como usar GetComponent com string como parâmetro
» Como usar um Boneco como Terceira Pessoa
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos