Jump to content
UnitySpain
Sign in to follow this  
Guest BrigPlay

Asignar un Objeto a una Variable

Recommended Posts

Guest 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 persecució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

Sin título.png

Edited by BrigPlay
Agregue datos para ayudar a entender el problema

Share this post


Link to post
Share on other sites
hace 56 minutos, BrigPlay said:

#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

Edited by ¥-Shido

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...