void Update() { Controlador.EntradaJogador entradaJogador = ctrl.ObterEntradaJogador(); mov.direcao = entradaJogador.acao1 ? Vector3.forward : Vector3.zero; }
void Update() { Controlador.EntradaJogador entradaJogador = ctrl.ObterEntradaJogador(); // localizando variáveis float eixoH = entradaJogador.eixoH; float pos_x = tr.position.x; // Ativando pulo se o jogador apertou o botão de ação 1 if (!emPulo && entradaJogador.acao1) { emPulo = true; StartCoroutine(Co_Pulo()); } // direcao de movimento, não pode pudar se estiver durante o pulo if (!emPulo) { if (eixoH > 0) { mov.direcao = Vector3.right; } else if (eixoH < 0) { mov.direcao = Vector3.left; } else { mov.direcao = Vector3.zero; } } // limitando dentro do limite da fase através da velocidade if (Mathf.Abs(pos_x) >= gerenBM.limX) { if (!emPulo) { if (eixoH > 0 && pos_x < 0 || eixoH < 0 && pos_x > 0) { mov.velocidade = gerenBM.velocidadeMov; } else { mov.velocidade = 0; } } else { mov.velocidade = 0; } } }
void Update() { Controlador.EntradaJogador entradaJogador = ctrl.ObterEntradaJogador(); acao1 = entradaJogador.acao1; if (comCogumelo && acao1) { gerenCQ.PassarCogumelo(); } }
void Update() { Controlador.EntradaJogador entradaJogador = ctrl.ObterEntradaJogador(); float eixoH = entradaJogador.eixoH; float eixoV = entradaJogador.eixoV; bool acao1 = entradaJogador.acao1; if (acao1) { pontos += gerenFH.CalcPonto(ref temposUtilizados); } }
void Update() { Controlador.EntradaJogador entradaJogador = ctrl.ObterEntradaJogador(); // localizando variáveis float dt = Time.deltaTime; float aceleracao = gerenPE.aceleracao; float desaceleracao = gerenPE.desaceleracao; float lim = gerenPE.limiteArena; float pos_x = tr.position.x; float pos_z = tr.position.z; float eixoH = entradaJogador.eixoH; float eixoV = entradaJogador.eixoV; bool acao1 = entradaJogador.acao1; // controlando inércia // -> aceleração inerciaX = Mathf.Clamp(inerciaX + eixoH * aceleracao * dt, -1, 1); inerciaZ = Mathf.Clamp(inerciaZ + eixoV * aceleracao * dt, -1, 1); // -> desaceleração { inerciaX = Mathf.Clamp( inerciaX - desaceleracao * dt * (inerciaX < 0 ? -1 : 1), inerciaX < 0 ? -1 : 0, inerciaX < 0 ? 0 : 1 ); inerciaZ = Mathf.Clamp( inerciaZ - desaceleracao * dt * (inerciaZ < 0 ? -1 : 1), inerciaZ < 0 ? -1 : 0, inerciaZ < 0 ? 0 : 1 ); } // controlando direção do movimento inerciaNorm.x = inerciaX; inerciaNorm.y = inerciaZ; if (inerciaNorm.magnitude > 1) { inerciaNorm.Normalize(); } mov.direcao.x = inerciaNorm.x; mov.direcao.z = inerciaNorm.y; // limitando dentro da arena pela direção do movimento if (pos_x >= lim && inerciaX > 0 || pos_x <= -lim && inerciaX < 0) { mov.direcao.x = 0; inerciaX = 0; } if (pos_z >= lim && inerciaZ > 0 || pos_z <= -lim && inerciaZ < 0) { mov.direcao.z = 0; inerciaZ = 0; } }