Como ativar uma variável e desativá-la 1 segundo depois? (WaitForSeconds??)
5 participantes
Página 1 de 1
Como ativar uma variável e desativá-la 1 segundo depois? (WaitForSeconds??)
E ai, quero ativar uma função que é de fazer a tela tremer quando meu o player se chocar com outro e quero desativar essa função depois de 1 seg. ou 0.5.
- Código:
CameraTremer.telaTremer = true;
Hardencio- Avançado
- PONTOS : 3720
REPUTAÇÃO : 25
Áreas de atuação : Advergames and Casual Games
Respeito as regras :
Re: Como ativar uma variável e desativá-la 1 segundo depois? (WaitForSeconds??)
Hardencio escreveu:E ai, quero ativar uma função que é de fazer a tela tremer quando meu o player se chocar com outro e quero desativar essa função depois de 1 seg. ou 0.5.
- Código:
CameraTremer.telaTremer = true;
Sim vc usa o metodo IEnumerator
- Código:
IEnumerator vibrate()
{
CameraTremer.telaTremer = true;
yield return new WaitForSeconds(0.05f);
CameraTremer.telaTremer = false;
}
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Como ativar uma variável e desativá-la 1 segundo depois? (WaitForSeconds??)
vc tambem pode usar Time.deltatime mas o metodo IEnumerator é melhor
JohnRambo- Moderador
- PONTOS : 5172
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: Como ativar uma variável e desativá-la 1 segundo depois? (WaitForSeconds??)
Galera ainda estou aprendendo C# , minha dúvida é ...o IEnumerator funciona como uma VOID?
estou tentando fazer um metodo para meu jogo para quandoo meu Player ganhar do oponente, após alguns segundo apareça o Painel de "Vencedor", se alguém puder me orientar fico grato, valeuuu!!!
estou tentando fazer um metodo para meu jogo para quandoo meu Player ganhar do oponente, após alguns segundo apareça o Painel de "Vencedor", se alguém puder me orientar fico grato, valeuuu!!!
- Código:
using UnityEngine;
using System.Collections;
public class BarraVidaOponente : MonoBehaviour {
public static float VidaDoOponente;
public float gravidade= -50;
public Texture Sangue,Slider;
public int VidaCheia = 100;
[Header("Ragdoll")]
//public GameObject CorpoInimigo;//Ragdoll
[Header("Danos")]
public float Dano01;
public float Dano02;
public GameObject EfeitoPorrada;
//tamanho Slider
public float Tam_Slider_x;
public float Tam_Slider_y;
public float pos_x_Sangue;
public static WarriorAnimationDemo AuxMovAtaque;
private Animator Animator_Oponente;
void Awake ()
{
VidaDoOponente = VidaCheia;
Animator_Oponente = GetComponent<Animator> ();
}
void Update ()
{
Physics.gravity = new Vector3(0, gravidade, 0);
if (VidaDoOponente >= VidaCheia) {
VidaDoOponente = VidaCheia;
}
else if (VidaDoOponente <= 0) {
VidaDoOponente = 0;
}
if (BarraVidaPlayer.VidaDoPlayer <=0)
{
comemoracao();
}
if(VidaDoOponente <=0)
{
Animator_Oponente.SetTrigger("Trigger_NockDown");
//Instantiate(CorpoInimigo,transform.position,transform.rotation);
//Destroy(gameObject);
OponentePerde();
}
///teste para IEnumerator esta dando ERRO
IEnumerator OponentePerde(){
yield return new WaitForSeconds(0.05f);
VenceOponente.venceu = true;
}
}
void OnCollisionEnter(Collision collision) {
AuxMovAtaque = collision.transform.GetComponent<WarriorAnimationDemo>();
if (AuxMovAtaque.animator.GetBool("Attack1Trigger")){
VidaDoOponente = VidaDoOponente - Dano01;
recebegolpe1();
}
if (AuxMovAtaque.animator.GetBool("Attack3Trigger")){
Animator_Oponente.SetTrigger("Triggerrecebegolpe2");
VidaDoOponente = VidaDoOponente - Dano02;
recebegolpe2();
}
//teste Knockdow
//if (VidaDoPersonagem == 90)
//{
//Animator_Oponente.SetTrigger("TriggerKnockout");
//EnemyMovement.enabled = false;
//}
}
void recebegolpe1(){
Animator_Oponente.SetTrigger("Triggerrecebegolpe");
Instantiate(EfeitoPorrada,transform.position,transform.rotation);
}
void recebegolpe2(){
Animator_Oponente.SetTrigger("Triggerrecebegolpe2");
Instantiate(EfeitoPorrada,transform.position,transform.rotation);
}
void comemoracao(){
Animator_Oponente.SetTrigger("PlayerDead");
}
void OnGUI ()
{
GUI.DrawTexture (new Rect (Screen.width / pos_x_Sangue, Screen.height / 15, Screen.width / 5.5f/VidaCheia*VidaDoOponente, Screen.height / 25), Sangue);
GUI.DrawTexture (new Rect (Screen.width / 40, Screen.height / 40, Screen.width / Tam_Slider_x, Screen.height / Tam_Slider_y), Slider);
}
}
Tópicos semelhantes
» Como fazer um objeto aumentar sua variável a cada segundo?
» ativar objeto depois de 3 segundos
» Como Ativar e Desativar Uma Variavel Boleana Com A Mesma Tecla?
» Como desativar o componente IMAGE e ativar automaticamente depois de certo tempo
» Como acessar uma variável de um script utilizando como parâmetro uma variável nomescript
» ativar objeto depois de 3 segundos
» Como Ativar e Desativar Uma Variavel Boleana Com A Mesma Tecla?
» Como desativar o componente IMAGE e ativar automaticamente depois de certo tempo
» Como acessar uma variável de um script utilizando como parâmetro uma variável nomescript
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos