(DUVIDA ) Duvida com SCRIPTS
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
(DUVIDA ) Duvida com SCRIPTS
boa tarde pessoal, seguinte tenho um duvida meio besta mas queria saber com vcs que tem mais experiencia com pode ser resolvida
eu tenho vários objetos com o mesmo script e nesse script tem uma variavel de quantidade de danos
então cada colisao que o objeto sofrer a variavel dano vai almentar, e se chegar a por exemplo >= 10 a funlçao destroy vai ser chamada e bla bla bla
mas o meu problema é o seguinte, todos os outros objetos que contem o mesmo script são destruidos tambem
será que eu vou ter que fazer uma script para cada inimigo??
ou será que tem com separar isso e somente destruir o objeto que levou os danos e deixar os demais intactos até que eles levem os danos
muito obrigado desde ja
eu tenho vários objetos com o mesmo script e nesse script tem uma variavel de quantidade de danos
então cada colisao que o objeto sofrer a variavel dano vai almentar, e se chegar a por exemplo >= 10 a funlçao destroy vai ser chamada e bla bla bla
mas o meu problema é o seguinte, todos os outros objetos que contem o mesmo script são destruidos tambem
será que eu vou ter que fazer uma script para cada inimigo??
ou será que tem com separar isso e somente destruir o objeto que levou os danos e deixar os demais intactos até que eles levem os danos
muito obrigado desde ja
Édipo- MembroAvançado
- PONTOS : 4007
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Re: (DUVIDA ) Duvida com SCRIPTS
A variavel de vida esta como static? se tiver é por isso que acontece o erro, se possivel poste seu script de vida e de dano aki.
Voce pode dar uma olhada num tutorial de AI basico que fiz tempo atras, e dar uma olhada no scritp de vida em especifico: https://www.schultzgames.com/t2199-tutorial-script-simples-de-ai-com-comportamentos-e-eventos
Voce pode dar uma olhada num tutorial de AI basico que fiz tempo atras, e dar uma olhada no scritp de vida em especifico: https://www.schultzgames.com/t2199-tutorial-script-simples-de-ai-com-comportamentos-e-eventos
Re: (DUVIDA ) Duvida com SCRIPTS
eu só sei fazer as coisa na gambiarra, então releva qualquer baianada no script :D
script do inimigo que vai em vários gameobjects >
e esse é o script do projetil que causa o dano >
tai os dois ,só que a função que ao colidir adiciona a variável DanoSofrido + 1; esta desatiada, pois eu coloquei pra destruir quando colidir por conta desse problema que eu não estava sabendo resolver
script do inimigo que vai em vários gameobjects >
- Código:
using UnityEngine;
using System.Collections;
public class INIMIGO_NAVE : MonoBehaviour {
public float VelocidadeInimigoVoar;
public float VelocidadeRotacionar = 1;
public GameObject Targetplayer;
public Vector3 DistanciaNave;
public Vector3 PosiçãoNave;
public Transform NavePlayer;
public float TempoCorrer;
public bool SeguirPlayer;
public float TempoNãoSeguir;
public GameObject PontoRadar;
RaycastHit ColisaoHitCcast;
public static bool Atirar;
public static int DanoSofrido;
// Use this for initialization
void Start () {
DanoSofrido = 0;
VelocidadeInimigoVoar = 10;
PontoRadar.gameObject.SetActive(false);
SeguirPlayer = true;
TempoCorrer = Random.Range(5f, 10f);
TempoNãoSeguir = Random.Range(5f,10f);
Targetplayer = GameObject.Find("NAVE_PLAYER");
}
// Update is called once per frame
void Update () {
if (Physics.Raycast(transform.position,transform.forward, out ColisaoHitCcast, 50))
{
if (ColisaoHitCcast.collider.gameObject.tag == "Player")
{
VelocidadeInimigoVoar = 8f;
}
else
{
VelocidadeInimigoVoar = 10f;
}
}
transform.Translate(0, 0, 10 * Time.deltaTime);
NavePlayer = GameObject.Find("NAVE_PLAYER").transform;
if (NavePlayer)
{
var dist = Vector3.Distance(NavePlayer.position, transform.position);
if (dist < 200)
{
PontoRadar.gameObject.SetActive(true);
}
else
{
PontoRadar.gameObject.SetActive(false);
}
}
if (NavePlayer)
{
var dist = Vector3.Distance(NavePlayer.position, transform.position);
if (dist < 15)
{
TempoCorrer = TempoCorrer - Time.deltaTime;
TempoNãoSeguir = Random.Range(5f, 10f);
}
}
if (TempoCorrer <= 0)
{
SeguirPlayer = false;
TempoNãoSeguir = TempoNãoSeguir - Time.deltaTime;
}
if (TempoNãoSeguir <= 0)
{
SeguirPlayer = true;
TempoCorrer = Random.Range(5f, 10f);
}
if (SeguirPlayer == true)
{
var TargetRotation = Quaternion.LookRotation(Targetplayer.transform.position - transform.position);
transform.rotation = Quaternion.Slerp(transform.rotation, TargetRotation, VelocidadeRotacionar * Time.deltaTime);
}
}
void OnCollisionEnter(Collision ColisaoInimigoNave) {
if (ColisaoInimigoNave.gameObject.tag == "TIRONAVE")
{
Destroy(gameObject);
}
}
}
e esse é o script do projetil que causa o dano >
- Código:
using UnityEngine;
using System.Collections;
public class PROJETIL : MonoBehaviour {
public float Velocidade = 50;
// Use this for initialization
void Start () {
http://transform.Translate(0,0, Velocidade*Time.deltaTime);
//GetComponent<Rigidbody>().AddForce(transform.forward * Velocidade);
}
// Update is called once per frame
void Update () {
Destroy(gameObject,5);
transform.Translate(0, 0, Velocidade * Time.deltaTime);
}
void OnCollisionEnter(Collision ColisaoTiroNave) {
if (ColisaoTiroNave.gameObject.tag == "INIMIGOS")
{
Destroy(gameObject);
}
}
}
tai os dois ,só que a função que ao colidir adiciona a variável DanoSofrido + 1; esta desatiada, pois eu coloquei pra destruir quando colidir por conta desse problema que eu não estava sabendo resolver
Édipo- MembroAvançado
- PONTOS : 4007
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Re: (DUVIDA ) Duvida com SCRIPTS
eu não estou conseguindo editar aqui, mas ta tranquilo meu chapa, eu resolvi o problema e era o que vc disse mesmo, foi um momento de distração, e o foda foi que eu não pensei nisso antes, malz ai o encomodo, mas muuuuito obrigado pela ajuda
vlw fera
vlw fera
Édipo- MembroAvançado
- PONTOS : 4007
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Re: (DUVIDA ) Duvida com SCRIPTS
dimmuo escreveu:Não tem necessidade de usar essas variaveis static aí.
ta bom
Édipo- MembroAvançado
- PONTOS : 4007
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Tópicos semelhantes
» [Dúvida] - Pequena dúvida sobre o IENumerator..
» [Duvida]
» duvida de como juntar esses dois scripts
» [Duvida] Duvida Com script de mover em direção ao mouse.
» [DÚVIDA] Dúvida sobre script e rigidbody
» [Duvida]
» duvida de como juntar esses dois scripts
» [Duvida] Duvida Com script de mover em direção ao mouse.
» [DÚVIDA] Dúvida sobre script e rigidbody
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos