[RESOLVIDO] Pegar armas
5 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Pegar armas
Tipo,o player quando apertar um botão ou passar por cima da arma,ele a coleta e ela aparece"equipada",tipo,na posição correta,em frente o player.Se você puder fazer o script eu ficaria agradecido.(Sabe,so falta esse sisteminha de pegar a arma para eu terminar meu joguinho ).
Joaogabrielf13- Avançado
- PONTOS : 3596
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] Pegar armas
Sabe utilizar o comando SetActive?
Básicamente a arma já vai estar no seu Player, no lugar que é para estar, más com um comando assim no Start:
isso desativará o objeto e seus scripts.
agora, faça um script assim na sua arma que fica no chão
Coloque um boxCollider nessa arma com a opção " IsTrigger " marcada e linke a arma desativada na variavel " ArmaASerAtivada " desta arma que está no chão e pronto
se você entrar no colisor desta arma que está no chão a outra arma vai ser ativada e a arma do chão se destroi
Básicamente a arma já vai estar no seu Player, no lugar que é para estar, más com um comando assim no Start:
- Código:
void Start (){
gameObject.SetActive(false);
}
isso desativará o objeto e seus scripts.
agora, faça um script assim na sua arma que fica no chão
- Código:
using UnityEngine;
using System.Collections;
public class ArmaChao : MonoBehaviour {
public GameObject ArmaASerAtivada;
void OnTriggerEnter (){
ArmaASerAtivada.gameObject.SetActive (true);
Destroy (gameObject);
}
}
Coloque um boxCollider nessa arma com a opção " IsTrigger " marcada e linke a arma desativada na variavel " ArmaASerAtivada " desta arma que está no chão e pronto
se você entrar no colisor desta arma que está no chão a outra arma vai ser ativada e a arma do chão se destroi
Joaogabrielf13- Avançado
- PONTOS : 3596
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] Pegar armas
So mais uma coisa,quando crio o prefab da ArmaChao,a unity deslinka a "ArmaASerAtivada",e ai toda vez que eu coloco o prefab na cena eu tenho que linkar
de novo, como faço para a ArmaASerAtivada continuar linkada mesmo depois de criar o prefab?
de novo, como faço para a ArmaASerAtivada continuar linkada mesmo depois de criar o prefab?
Joaogabrielf13- Avançado
- PONTOS : 3596
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] Pegar armas
A arma nao poderia deslinkar... só se você está linkando em quanto o Play está ativado... senão ela não deveria perder a referencia
Re: [RESOLVIDO] Pegar armas
Linkei a arma ja no prefab da ArmaChao,porem quando coloco o prefab no jogo não funciona,só funciona se eu linkar a arma na ArmaChao que esta na aba de hierarquia.
Joaogabrielf13- Avançado
- PONTOS : 3596
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] Pegar armas
como faço pra quando eu apertar uma tecla, soltar a arma?
Batalha- Iniciante
- PONTOS : 3087
REPUTAÇÃO : 0
Respeito as regras :
Re: [RESOLVIDO] Pegar armas
Batalha escreveu:como faço pra quando eu apertar uma tecla, soltar a arma?
Teria como você criar um tópico separado para esta dúvida? postando como você fez o seu sistema e tudo mais...
Re: [RESOLVIDO] Pegar armas
O sistema que usei foi esse ai do tutorial acima
é q cm esse sistema so da pra pegar a arma, quero saber como faço pra soltar ela no chao
é q cm esse sistema so da pra pegar a arma, quero saber como faço pra soltar ela no chao
Batalha- Iniciante
- PONTOS : 3087
REPUTAÇÃO : 0
Respeito as regras :
Re: [RESOLVIDO] Pegar armas
Fiz o sistema para poder dropar ela encima do script do tutorial de pegar do chão.
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class ColetarArma : MonoBehaviour {
private bool estaComArma, pertoDaArma = false;
public GameObject armaNoCHao, armaNaMao, dropArma;
public Text aperteE;
void Start () {
aperteE.enabled = false;
}
void Update () {
if (!estaComArma) {
armaNaMao.SetActive (false);
}
if (!estaComArma && pertoDaArma) {
if (Input.GetKeyDown ("e")) {
armaNaMao.SetActive (true);
Destroy (armaNoCHao);
estaComArma = true;
aperteE.enabled = false;
}
}
if (estaComArma == true && Input.GetKeyDown("q")) {
armaNaMao.SetActive (true);
estaComArma = false;
Instantiate (dropArma, transform.position, Quaternion.identity);
}
}
void OnTriggerEnter (Collider col) {
if (col.gameObject.tag == "Player") {
pertoDaArma = true;
aperteE.enabled = true;
}
}
void OnTriggerExit (Collider col) {
if (col.gameObject.tag == "Player") {
pertoDaArma = false;
aperteE.enabled = false;
}
}
}
Re: [RESOLVIDO] Pegar armas
o que eu tenho que linkar na variavel dropArma?
Batalha- Iniciante
- PONTOS : 3087
REPUTAÇÃO : 0
Respeito as regras :
Re: [RESOLVIDO] Pegar armas
a arma que sera dropada..obvio..mano..eu entendo que e complicado no comeco mais antes..leia as variaveis e tenta associar uma palavra a oura...droparmaBatalha escreveu:o que eu tenho que linkar na variavel dropArma?
Drop = dropar
arma = DRAGRAO QUE NAO VAI SER AKKAKAK
^^ :bounce: :bounce: :bounce:
Re: [RESOLVIDO] Pegar armas
vlw ae
ajudou bastante.
ajudou bastante.
Batalha- Iniciante
- PONTOS : 3087
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Pegar e Jogar armas no chão (estilo CS 1.6)
» Pegar armas no chao?
» [RESOLVIDO] Pegar o meu ping/latencia (Unet)
» [RESOLVIDO]Pegar 2 maiores numeros de uma array
» [RESOLVIDO] Pegar números diferentes de uma int
» Pegar armas no chao?
» [RESOLVIDO] Pegar o meu ping/latencia (Unet)
» [RESOLVIDO]Pegar 2 maiores numeros de uma array
» [RESOLVIDO] Pegar números diferentes de uma int
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos