Quero fazer que quando o player passa pelo GameObject, ele dar munição
3 participantes
Página 1 de 1
Quero fazer que quando o player passa pelo GameObject, ele dar munição
Olá, Eu estou desenvolvendo um jogo em 3D pela unity, que quando um player passe pelo GameObject, ele ganha munições, porém , eu criei já a munição da arma e o tiro dela, para controlar o tiro e não dar um "Spam". O script deu totalmente certo, porém quero que quando o player passe no GameObject ele ganha +munições, e também, como posso usar o collider?. E também eu tenho que mencionar o script da arma que tem a munição no outro script?. Se sim, como?.
Lucasnovo1- Iniciante
- PONTOS : 1772
REPUTAÇÃO : 0
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
so colocar um OnTriggerEnter no objeto ai quando colidir vc adiciona munição '-'
sem o script fica meio complicado de explicar pelo menos pra mim pq sou iniciante ainda
mas um exemplo mega resumido acho ACHO que seria assim
void OnTriggerEnter(collider obj) {
if(obj.gameobject.tag == "Municao") {
(a variavel das balas) ++;
}
}
sem o script fica meio complicado de explicar pelo menos pra mim pq sou iniciante ainda
mas um exemplo mega resumido acho ACHO que seria assim
void OnTriggerEnter(collider obj) {
if(obj.gameobject.tag == "Municao") {
(a variavel das balas) ++;
}
}
speedluk- Avançado
- PONTOS : 2676
REPUTAÇÃO : 29
Idade : 32
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
Por favor um membro com mais conhecimento me corrija se eu errei ^^ e onde pra eu aprender tambem XD
speedluk- Avançado
- PONTOS : 2676
REPUTAÇÃO : 29
Idade : 32
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
Quer que eu mando o script da arma, que tem tiro e munição?speedluk escreveu:so colocar um OnTriggerEnter no objeto ai quando colidir vc adiciona munição '-'
sem o script fica meio complicado de explicar pelo menos pra mim pq sou iniciante ainda
mas um exemplo mega resumido acho ACHO que seria assim
void OnTriggerEnter(collider obj) {
if(obj.gameobject.tag == "Municao") {
(a variavel das balas) ++;
}
}
Lucasnovo1- Iniciante
- PONTOS : 1772
REPUTAÇÃO : 0
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
se quiser posta ai fica bem mais fácil ajudar ^^
mas de qualquer forma é isso mesmo do adicionar ++; no collider para variavel de balas ou += e o valor tipo 15 balas por exemplo
mas de qualquer forma é isso mesmo do adicionar ++; no collider para variavel de balas ou += e o valor tipo 15 balas por exemplo
speedluk- Avançado
- PONTOS : 2676
REPUTAÇÃO : 29
Idade : 32
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
speedluk escreveu:se quiser posta ai fica bem mais fácil ajudar ^^
mas de qualquer forma é isso mesmo do adicionar ++; no collider para variavel de balas ou += e o valor tipo 15 balas por exemplo
- Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TiroDaM4 : MonoBehaviour
{
public GameObject Bala;
public Transform SaidaDaBala;
public int municao = 60;
void Start()
{
}
void Update()
{
if (Input.GetKey(KeyCode.Mouse0) && municao > 0)
{
Instantiate(Bala, SaidaDaBala.position, SaidaDaBala.rotation);
municao = municao - 1;
}
}
}
Lucasnovo1- Iniciante
- PONTOS : 1772
REPUTAÇÃO : 0
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
Lucasnovo1 escreveu:speedluk escreveu:se quiser posta ai fica bem mais fácil ajudar ^^
mas de qualquer forma é isso mesmo do adicionar ++; no collider para variavel de balas ou += e o valor tipo 15 balas por exemplo
- Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TiroDaM4 : MonoBehaviour
{
public GameObject Bala;
public Transform SaidaDaBala;
public int municao = 60;
void Start()
{
}
void Update()
{
if (Input.GetKey(KeyCode.Mouse0) && municao > 0)
{
Instantiate(Bala, SaidaDaBala.position, SaidaDaBala.rotation);
municao = municao - 1;
}
}
}
Lucasnovo1- Iniciante
- PONTOS : 1772
REPUTAÇÃO : 0
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
Eu enviei já, agora oque eu faço, para quando o player passar no objeto e ganhar munições?, e também, como faço uma distância da bala, tipo quero que ela acerte um certo lugar, quando atingir um inimigo, ela destroi, e quando n destruir depois de 3 segundos ela se destroi.speedluk escreveu:se quiser posta ai fica bem mais fácil ajudar ^^
mas de qualquer forma é isso mesmo do adicionar ++; no collider para variavel de balas ou += e o valor tipo 15 balas por exemplo
Lucasnovo1- Iniciante
- PONTOS : 1772
REPUTAÇÃO : 0
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
Olha mano pra você adicionar a munição ao passar por um objeto, nesse objeto acredito que tenha que estar com is trigger marcado e vc creio que já tenha adicionado a tag Player no seu player então vc cria a void de trigger no objeto que vai dar a munição EX:
de uma referencia do script TiroDaM4 também..
TiroDaM4 municao;
void Start () {
municao = getcomponent<TiroDaM4>();
}
void OnTriggerEnter (Collider other) {
if(other.gameObject.tag == "Player") {
municao = municao + 15;
}
}
Obs; foi so uma ideia e ainda assim acredito que pode conter erros esse detalhe seria muito facil de resolver no caso eu faria um script para arma e um pra bala
a void de trigger colocaria no player pra quando ele encostar em um obj com a tag Municao
script da arma se encarregaria do dano dela e de instanciar a bala e na bala se quiser destrui-la basta colocar no script dela um Destroy(gameObject, 3);
desculpa se embolei muito pra explicar sou iniciante também mas essa parte foi uma das que quebrei muito a cabeça já antes ^^
de uma referencia do script TiroDaM4 também..
TiroDaM4 municao;
void Start () {
municao = getcomponent<TiroDaM4>();
}
void OnTriggerEnter (Collider other) {
if(other.gameObject.tag == "Player") {
municao = municao + 15;
}
}
Obs; foi so uma ideia e ainda assim acredito que pode conter erros esse detalhe seria muito facil de resolver no caso eu faria um script para arma e um pra bala
a void de trigger colocaria no player pra quando ele encostar em um obj com a tag Municao
script da arma se encarregaria do dano dela e de instanciar a bala e na bala se quiser destrui-la basta colocar no script dela um Destroy(gameObject, 3);
desculpa se embolei muito pra explicar sou iniciante também mas essa parte foi uma das que quebrei muito a cabeça já antes ^^
speedluk- Avançado
- PONTOS : 2676
REPUTAÇÃO : 29
Idade : 32
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
Esse script que vc postou acredito que seja o da arma o OnTriggerEnter vc vao criar no script da bala e no Update vc adiciona o Destroy(gameObject, 3);
pode adicionar também dentro do if se ele colidir no obj com a tag Player
pode adicionar também dentro do if se ele colidir no obj com a tag Player
speedluk- Avançado
- PONTOS : 2676
REPUTAÇÃO : 29
Idade : 32
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
Não sei se vai funcionar pois estou no celular, mas tente o seguinte:
Crie o gameObject que você quer que de munição, dentro do script da arma crie uma
Lembrando que você pode criar um script especificamente pra esse gameObject, aí tu pode criar uma variável pra dar determinada munição direto na Unity, etc.
Lembrando que pode estar errado, porque além de eu estar no celular só mexo na parte do 2D, mas se tiver é coisa mínima, tu consegue mexer uns pauzinhos e arrumar ;D
Crie o gameObject que você quer que de munição, dentro do script da arma crie uma
- Código:
public gameObject nomePublic;
- Código:
void OnTriggerCollider(Collision other) {
if(nomePublic.gameobject.compareTag == "TAG definida") {
Municao += QuantasMunicoes;
}
}
Lembrando que você pode criar um script especificamente pra esse gameObject, aí tu pode criar uma variável pra dar determinada munição direto na Unity, etc.
Lembrando que pode estar errado, porque além de eu estar no celular só mexo na parte do 2D, mas se tiver é coisa mínima, tu consegue mexer uns pauzinhos e arrumar ;D
Micco- MembroAvançado
- PONTOS : 1790
REPUTAÇÃO : 17
Áreas de atuação : C#, GDScript, HTML e CSS.
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
Valeu, vou tentar esse scriptMicco escreveu:Não sei se vai funcionar pois estou no celular, mas tente o seguinte:
Crie o gameObject que você quer que de munição, dentro do script da arma crie umaDepois faça uma verificação usando o OnTriggerCollider como abaixo: (você precisará definir uma tag para o objeto que você quer que de munição)
- Código:
public gameObject nomePublic;
- Código:
void OnTriggerCollider(Collision other) {
if(nomePublic.gameobject.compareTag == "TAG definida") {
Municao += QuantasMunicoes;
}
}
Lembrando que você pode criar um script especificamente pra esse gameObject, aí tu pode criar uma variável pra dar determinada munição direto na Unity, etc.
Lembrando que pode estar errado, porque além de eu estar no celular só mexo na parte do 2D, mas se tiver é coisa mínima, tu consegue mexer uns pauzinhos e arrumar ;D
Lucasnovo1- Iniciante
- PONTOS : 1772
REPUTAÇÃO : 0
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
De nada, só lembrando que na parte "QuantasMunicoes" tu pode adicionar um Random.Range pra dar uma quantidade de munições aleátorias :DLucasnovo1 escreveu:Valeu, vou tentar esse scriptMicco escreveu:Não sei se vai funcionar pois estou no celular, mas tente o seguinte:
Crie o gameObject que você quer que de munição, dentro do script da arma crie umaDepois faça uma verificação usando o OnTriggerCollider como abaixo: (você precisará definir uma tag para o objeto que você quer que de munição)
- Código:
public gameObject nomePublic;
- Código:
void OnTriggerCollider(Collision other) {
if(nomePublic.gameobject.compareTag == "TAG definida") {
Municao += QuantasMunicoes;
}
}
Lembrando que você pode criar um script especificamente pra esse gameObject, aí tu pode criar uma variável pra dar determinada munição direto na Unity, etc.
Lembrando que pode estar errado, porque além de eu estar no celular só mexo na parte do 2D, mas se tiver é coisa mínima, tu consegue mexer uns pauzinhos e arrumar ;D
https://docs.unity3d.com/ScriptReference/Random.Range.html
Micco- MembroAvançado
- PONTOS : 1790
REPUTAÇÃO : 17
Áreas de atuação : C#, GDScript, HTML e CSS.
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
CertoMicco escreveu:De nada, só lembrando que na parte "QuantasMunicoes" tu pode adicionar um Random.Range pra dar uma quantidade de munições aleátorias :DLucasnovo1 escreveu:Valeu, vou tentar esse scriptMicco escreveu:Não sei se vai funcionar pois estou no celular, mas tente o seguinte:
Crie o gameObject que você quer que de munição, dentro do script da arma crie umaDepois faça uma verificação usando o OnTriggerCollider como abaixo: (você precisará definir uma tag para o objeto que você quer que de munição)
- Código:
public gameObject nomePublic;
- Código:
void OnTriggerCollider(Collision other) {
if(nomePublic.gameobject.compareTag == "TAG definida") {
Municao += QuantasMunicoes;
}
}
Lembrando que você pode criar um script especificamente pra esse gameObject, aí tu pode criar uma variável pra dar determinada munição direto na Unity, etc.
Lembrando que pode estar errado, porque além de eu estar no celular só mexo na parte do 2D, mas se tiver é coisa mínima, tu consegue mexer uns pauzinhos e arrumar ;D
https://docs.unity3d.com/ScriptReference/Random.Range.html
Lucasnovo1- Iniciante
- PONTOS : 1772
REPUTAÇÃO : 0
Respeito as regras :
Re: Quero fazer que quando o player passa pelo GameObject, ele dar munição
Use o OnTrigger se estiver usando o Is Trigger (99% de certeza) na colisão com o GameObject, se não, use o OnCollisionEnter :DLucasnovo1 escreveu:CertoMicco escreveu:De nada, só lembrando que na parte "QuantasMunicoes" tu pode adicionar um Random.Range pra dar uma quantidade de munições aleátorias :DLucasnovo1 escreveu:Valeu, vou tentar esse scriptMicco escreveu:Não sei se vai funcionar pois estou no celular, mas tente o seguinte:
Crie o gameObject que você quer que de munição, dentro do script da arma crie umaDepois faça uma verificação usando o OnTriggerCollider como abaixo: (você precisará definir uma tag para o objeto que você quer que de munição)
- Código:
public gameObject nomePublic;
- Código:
void OnTriggerCollider(Collision other) {
if(nomePublic.gameobject.compareTag == "TAG definida") {
Municao += QuantasMunicoes;
}
}
Lembrando que você pode criar um script especificamente pra esse gameObject, aí tu pode criar uma variável pra dar determinada munição direto na Unity, etc.
Lembrando que pode estar errado, porque além de eu estar no celular só mexo na parte do 2D, mas se tiver é coisa mínima, tu consegue mexer uns pauzinhos e arrumar ;D
https://docs.unity3d.com/ScriptReference/Random.Range.html
Micco- MembroAvançado
- PONTOS : 1790
REPUTAÇÃO : 17
Áreas de atuação : C#, GDScript, HTML e CSS.
Respeito as regras :
Tópicos semelhantes
» AUGUEM pode me passa o script para fazer um NPC seguir o player
» como fazer um public gameObject ser preenchido pelo objeto com tag X.
» (ajuda)quero fazer um sistema que quando o carro fica de ponta cabeça por 5 segundo ele de respawn automatico
» Cenário se reposicionar no eixo z, quando o player se move pelo cenário.
» Fazer o player automaticamente ir para um sitio quando não tem balas
» como fazer um public gameObject ser preenchido pelo objeto com tag X.
» (ajuda)quero fazer um sistema que quando o carro fica de ponta cabeça por 5 segundo ele de respawn automatico
» Cenário se reposicionar no eixo z, quando o player se move pelo cenário.
» Fazer o player automaticamente ir para um sitio quando não tem balas
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos