Não troca de arma
2 participantes
Página 1 de 1
Não troca de arma
Boa tarde, eu ando muito perdido no meu script (Até pq faz mto tempo q n trabalho nele) e quando o deixei a um tempo atras ele estava (Ainda está) uma bagunça.
Gostaria de ajuda de um(a) ótimo(a) samaritano(a) para resolver isso.
Ele deveria trocar pra arma 1 ou pra arma 2 quando pressiono as respectivas letras "C" e "V" porem isso não acontece.
Peço imensas desculpas pela bagunça do script mas com o prazo extremamente apertado do curso e a TDAH (Transtorno de déficit de atenção e hiperatividade) foi o que eu consegui desenvolver.
Gostaria de ajuda de um(a) ótimo(a) samaritano(a) para resolver isso.
Ele deveria trocar pra arma 1 ou pra arma 2 quando pressiono as respectivas letras "C" e "V" porem isso não acontece.
Peço imensas desculpas pela bagunça do script mas com o prazo extremamente apertado do curso e a TDAH (Transtorno de déficit de atenção e hiperatividade) foi o que eu consegui desenvolver.
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
public class PlayerController : MonoBehaviour {
private Animator anim;
private Rigidbody2D rb2d;
public GameObject tiro;
public Transform pontodedisparo;
public AudioSource somtiro;
bool podepular;
public bool temarma1; //VEREFICARIA SE TEM A ARMA1 PARA QUE O MESMO TENHA AS ANIMACOES RESPECTIVAS A ARMA1
public bool temarma2; //VEREFICARIA SE TEM A ARMA2 PARA QUE O MESMO TENHA AS ANIMACOES RESPECTIVAS A ARMA2
public bool um; //TENTATIVA DE CRIAR UMA BOOL DIFERENTE DO ARMA1/2 PARA PODER ATIVA-LOS E DESATIVA-LOS (OS ARMA1/2)
public bool dois; //TENTATIVA DE CRIAR UMA BOOL DIFERENTE DO ARMA1/2 PARA PODER ATIVA-LOS E DESATIVA-LOS (OS ARMA1/2)
public bool tem2armas; //BOOL QUE ASSIM QUE VERIFICADO O TOQUE EM AMBAS AS ARMAS (1 E 2) SERIA ATIVADO
public float Velocidade;
public float ForcaPulo;
[HideInInspector] public bool viradoDireita = true;
public Image vida;
private MensagemControle MC;
void Start () {
anim = GetComponent<Animator> ();
rb2d = GetComponent<Rigidbody2D> ();
GameObject mensagemControleObject = GameObject.FindWithTag ("MensagemControle");
if (mensagemControleObject != null) {
MC = mensagemControleObject.GetComponent<MensagemControle> ();
}
}
void Update ()
{
if (Input.GetKey(KeyCode.UpArrow) && podepular == true)
{
GetComponent<Rigidbody2D>().AddForce(new Vector2(0,ForcaPulo), ForceMode2D.Impulse);
podepular = false;
anim.SetTrigger("pula");
}
if (Input.GetKeyDown(KeyCode.Space) && temarma1 == true)
{
Instantiate(tiro, pontodedisparo.position, pontodedisparo.rotation);
somtiro.Play();
}
if (Input.GetKey(KeyCode.Escape))
{
Application.Quit();
}
}
void OnCollisionEnter2D (Collision2D other)
{
if (other.gameObject.tag == "Ground")
{
podepular = true;
}
if (other.gameObject.tag == "armaVermelha")
{
temarma2 = true;
um = true;
}
if (other.gameObject.tag == "armaAzul")
{
temarma1 = true;
dois = true;
}
}
void FixedUpdate()
{
// RESPECTIVAS ANIMACOES
float translationX = Input.GetAxis ("Horizontal") * Velocidade;
transform.Translate (translationX,0,0);
transform.Rotate (0, 0, 0);
if (translationX != 0 && temarma1 == false && temarma2 == false)
{
anim.SetTrigger ("corre");
}
else if (temarma1 == false && temarma2 == false)
{
anim.SetTrigger("parado");
}
if (Input.GetKey(KeyCode.C) && um == true && dois == true) //DEVERIA TROCAR DE ARMA
{
temarma1 = true;
temarma2 = false;
}
else if (Input.GetKey(KeyCode.V) && um == true && dois == true) //DEVERIA TROCAR DE ARMA
{
temarma1 = false;
temarma2 = true;
}
if (translationX != 0 && temarma1 == true)
{
anim.SetTrigger ("correndoarma");
}
else if (temarma1 == true)
{
anim.SetTrigger("paradoarma");
}
else if (temarma2 == false)
{
anim.SetTrigger("parado2");
}
if (translationX != 0 && temarma2 == true)
{
anim.SetTrigger ("corre2");
}
else if (temarma2 == true)
{
anim.SetTrigger("paradoarma2");
}
if (translationX > 0 && !viradoDireita)
{
Flip ();
}
else if (translationX < 0 && viradoDireita)
{
Flip();
}
}
void Flip()
{
viradoDireita = !viradoDireita;
Vector3 escala = transform.localScale;
escala.x *= -1;
transform.localScale = escala;
}
public void SubtraiVida()
{
vida.fillAmount-=0.1f;
if (vida.fillAmount <= 0) {
MC.GameOver();
Destroy(gameObject);
}
}
}
maxwarnava- Membro
- PONTOS : 1819
REPUTAÇÃO : 3
Respeito as regras :
Re: Não troca de arma
Lembrando que dou TOTAL permissão pra alterarem como quiserem o script, se desejarem podem jogar o mesmo fora e até fazer outro, eu só preciso de ajuda!
maxwarnava- Membro
- PONTOS : 1819
REPUTAÇÃO : 3
Respeito as regras :
Re: Não troca de arma
Bom dia, então, achei a resposta bem obvia mas vamos lá:
primeiro essas suas vars boleans não tão servindo de nada, nem entendi o que esse script ta fazendo direito, varios ifs pro animator, isso eu entendi
mas não vi nada que indique que deveria trocar de arma ? não tem destroy ou instantiate (sou novo em desenvolvimento de games), que eu saiba uma arma deveria ficar "presa na mao" sendo objeto filha dela, mas no seu script não tem sinal disso, então é por isso que não ta trocando de arma... eu acharia estranho se tivesse trocando de arma
espero ter ajudado.
primeiro essas suas vars boleans não tão servindo de nada, nem entendi o que esse script ta fazendo direito, varios ifs pro animator, isso eu entendi
mas não vi nada que indique que deveria trocar de arma ? não tem destroy ou instantiate (sou novo em desenvolvimento de games), que eu saiba uma arma deveria ficar "presa na mao" sendo objeto filha dela, mas no seu script não tem sinal disso, então é por isso que não ta trocando de arma... eu acharia estranho se tivesse trocando de arma
espero ter ajudado.
Re: Não troca de arma
É um jogo 2D, apenas o que tenho são as animações do personagem com armas diferentes, quando eu "trocasse de arma" o que realmente deveria acontecer é trocar de animação
maxwarnava- Membro
- PONTOS : 1819
REPUTAÇÃO : 3
Respeito as regras :
Re: Não troca de arma
mas os 2 booleans, de arma não estão sendo mandadas pro animator achei isso meio estranho.
Tópicos semelhantes
» troca de arma
» Como fazer um sistema de troca de arma ?
» Troca de camera
» Troca de armas
» Troca de fase
» Como fazer um sistema de troca de arma ?
» Troca de camera
» Troca de armas
» Troca de fase
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos