Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Asignar un Objeto a una Variable

Iniciado por BrigPlay, Mayo 22, 2016, 07:05:05 PM

Tema anterior - Siguiente tema
Mayo 22, 2016, 07:05:05 PM Ultima modificación: Mayo 22, 2016, 10:45:01 PM por BrigPlay

#pragma strict
// Aplicar a "enemigo" que contenga:
// Rigidbody
// Collider (de preferencia usar Capsule o Cube)
// En Rigidbody palomear los constrains de Freeze Rotation en X y en Z
 
var Player : Transform; //Asignar el personaje al que seguirán
var MoveSpeed:float = 4; //Establecer velocidad de ***cución
var MaxDist:float = 20; //Establecer distancia máxima a la que lo seguirá
var MinDist:float = 1;//Establecer distancia mínima a la que lo seguirá
 
function Start () {
}
function Update () {
    var EnemyPos = transform.position;
    var PlayerPos = Player.position;
    var distancia = Vector3.Distance(EnemyPos,PlayerPos);
    if(  distancia >= MinDist && distancia <= MaxDist  ){
        var targetPos = new Vector3( Player.position.x,
                                        this.transform.position.y,
                                        Player.position.z);
        transform.LookAt(targetPos);
        transform.position += transform.forward*MoveSpeed*Time.deltaTime;
}
}

 
 
 
Hola, estoy usando este script de enemigo (el script hace que el enemigo persiga la variable Jugador). Quisiera asignar el objeto  del jugador a la variable Jugador en el script , por que con este script tengo que asignar el jugador desde el inspector (de esta forma me funciona bien), pero cree un spawn y los enemigos se generan sin target (sin variable jugador, osea que los enemigos no persiguen a nada se quedan quietos)
 
Todavía tengo el problema puse en la variable
 
Player =  GameObject.Find("Jugador").transform;
 
y también probé con 
 
Player =  GameObject.FindWithTag ("Player").transform;
 
En unity me aparece el error de que no se le ha asignado objeto a la variable Jugador
 

Mayo 22, 2016, 07:57:44 PM #1 Ultima modificación: Mayo 22, 2016, 08:02:12 PM por ¥-Shido
Cita de: BrigPlay date=1463936705

#pragma strict
var Jugador: Transform;
var VelocidadEnemigo = 4;
var DistanciaMin = 5;
var DistanciaMax = 10;
function Update(){
  transform.LookAt(Jugador);
    if(Vector3.Distance(transform.position, Jugador.position) <= DistanciaMin){
      transform.position + transform.forward * ;
    } else
      if(Vector3.Distance(transform.position, Jugador.position) >= DistanciaMin){
        transform.position + transform.forward * VelocidadEnemigo*Time.deltaTime;
  }
}

   
       
   
   
      Hola, estoy usando este script de enemigo (el script hace que el enemigo persiga la variable Jugador). Quisiera asignar el objeto  del jugador a la variable Jugador en el script , por que con este script tengo que asignar el jugador desde el inspector (de esta forma me funciona bien), pero cree un spawn y los enemigos se generan sin target (sin variable jugador, osea que los enemigos no persiguen a nada se quedan quietos)
   


Jugador = GameObject.Find("nombre del objeto").transform;
 
Tambien lo puedes buscar por "tag"
 
Busca: FindWithTag

Etiquetas: