Jump to content
UnitySpain

Search the Community

Showing results for tags 'variable'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Inicio
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
  • Mesa de ayuda
    • Unity
    • Arte
    • Otras Especialidades
    • Builds & Dispositivos
  • Aportes de la Comunidad
    • Recursos
    • Eventos
    • Buenas Prácticas
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas
  • Post Antiguos
    • General (Antiguo)

Blogs

  • byGui
  • El Blog de Pioj

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 13 results

  1. Buenas!!! Que quiere decir utilizar "new" en la declaracion de una variable? Ejemplos: static Rigidbody _rigidBody; static new Rigidbody _rigidbody; Rigidbody _rigidbody; new Rigidbody _rigidbody; Alguna diferencia?
  2. Hola a todos, Tengo un pequeño problema con un enemigo. Por ahora, en el escenario, sólo tengo un enemigo que, cuando me acerco a una cierta distancia, me persigue y me ataca. El problema que tengo es que, cuando deja de detectarme necesito que vuelva a su posición inicial almacenada en una variable y no sé cómo hacerlo. Llevo varios dias dándole vueltas al tema y no hay manera de encontrar la sentencia adecuada y todo lo que consigo es que, cuando deja de "verme", siga andando hacia mí y eso no me interesa... Adjunto código a ver si me podéis ayudar: var target : Transform; var initpos : Vector3; var anim : Animator; var SeeU : boolean = false; var attackanim : boolean = false; //var notSee : boolean = false; function Start () { initpos = transform.position; anim = GetComponent.<Animator>(); } function Update () { if (transform.position.y > target.position.y -0.5f && transform.position.y < target.position.y + 0.5f){ // var pos = transform.position - target.position; var pos = target.position - transform.position; SeeU = true; if (Vector3.Distance(transform.position, target.transform.position)<12 && Vector3.Distance (transform.position, target.transform.position)>1 && SeeU == true){ var rot = Quaternion.LookRotation (pos, Vector3.up); if (SeeU == true){ anim.SetTrigger ("seeU"); transform.rotation = Quaternion.Slerp (transform.rotation, rot, 2*Time.deltaTime); transform.Translate (Vector3.forward * Time.deltaTime * 0.3); print ("Te estoy viendo"); } } else if (Vector3.Distance (transform.position, target.transform.position)<=1) { var rot2 = Quaternion.LookRotation (pos, Vector3.up); transform.rotation = Quaternion.Slerp (transform.rotation, rot2, 2*Time.deltaTime); anim.SetTrigger ("attack"); } else { print ("no te veo"); //AQUI DEBERÍA IR LA SENTENCIA QUE HACE QUE EL ENEMIGO VUELVA A SU SITIO, PERO NO DOY CON ELLA... } } Muchas gracias Salu2!
  3. Supongamos que tengo el siguiente código que controla la variable vida de un enemigo: public class EnemyHealth : MonoBehaviour { float currentHealth; float amount = .5f; float maxHealth = 100; public float CurrentHealth { get { return currentHealth; } set { currentHealth = value; } } void Update() { if (currentHealth < maxHealth) currentHealth += Time.deltaTime * amount; if (currentHealth >= maxHealth) currentHealth = maxHealth; if (currentHealth <= 0f) currentHealth = 0f; } } Y también tengo este CustomEditor: [CustomEditor(typeof(EnemyHealth))] public class EnemyHealthEditor : Editor { public override void OnInspectorGUI() { EnemyHealth enemyHealth = (EnemyHealth)target; enemyHealth.CurrentHealth = EditorGUILayout.FloatField("Health", enemyHealth.CurrentHealth); } } El problema que tengo es que la variable (en el inspector) no se actualiza cuando es < maxHealth, tal como indica su código... Si por ejemplo le pongo el valor 55 en el inspector, vuelve a 0, sin actualizarse. Antes de haber escrito el CustomEditor, simplemente tenía la variable en public y se actualizaba bien. Peor aún: He notado que si pongo el mouse encima del inspector (sin hacer clicks de ningún tipo), y lo muevo hacia otra ventana de Unity, sí se actualiza... (?) >>> Vídeo de muestra (nótese que no estoy haciendo dragging) Cómo lo soluciono?
  4. Hola muchachos, bueno basicamente necesito que me tiren algunos tips de como me puede comunicar con otros scripts, a lo que me refiero con esto, es a manejar variables de un script en particular de un GameObject por ejemplo, bueno yo no soy tan novato, reconosco que puedo instanciar un GameObject creando una variable que almacene mi GameObject, pero lo que me esta costando, es el poder comunicarme con determinado script de ese GameObject que yo tenga almacenado en una variable, y poder manipularlo comodo, y sin gastar mucho requisito en esa comunicacion.... No me quedo muy claro, pero estube revisando y los GetComponent<>() gastan bastante requisito, o estoy equivocado?, porfavor aclarenme eso, no estoy seguro, el GameObjectFind tengo entendido que si ese gasta mucho ya que revisa todo lode la escena. Bueno en fin, miren aca tengo un ejemplo, esto es lo que hago con lo que yo se hasta ahora.... public ParticleSystem particleSys; private RaycastHit hitInfo; private const float rayDistance = 0.3f; private const float resetTime = 1.3f; private void Update() { NewRayCast(Vector3.forward); NewRayCast(Vector3.back); NewRayCast(Vector3.right); NewRayCast(Vector3.left); NewRayCast(Vector3.up); NewRayCast(Vector3.down); } private void NewRayCast(Vector3 dir) { if (Physics.Raycast(new Ray(transform.position, dir), out hitInfo, rayDistance)) { OnCrush(); } } private void OnCrush() { if (hitInfo.collider.name.Substring(, 7) == "Barrier" || hitInfo.collider.name.Substring(, 5) == "Inner") { // Ignore Raycast } else { if (transform.gameObject.GetComponent<MeshRenderer>().enabled == true) _OnCrush(); } } private void _OnCrush() { particleSys.transform.position = transform.position; particleSys.Play(); transform.gameObject.GetComponent<Player_Movement>().noMove = true; transform.gameObject.GetComponent<Player_Movement>().isRotate = false; transform.gameObject.GetComponent<Rigidbody>().isKinematic = true; transform.gameObject.GetComponent<MeshRenderer>().enabled = false; StartCoroutine("_Reset"); } private IEnumerator _Reset() { yield return new WaitForSeconds(resetTime); Debug.Log("Reset"); transform.gameObject.GetComponent<Player_Movement>().ResetCrush(); transform.gameObject.GetComponent<Player_Movement>().noMove = false; // transform.gameObject.GetComponent<Rigidbody>().isKinematic = false; transform.gameObject.GetComponent<MeshRenderer>().enabled = true; } Bueno no hace falta que lo entiendan del todo al script, solo miren mi consulta, fijense como uso todos esos GetComponent, y no estoy seguro si lo estoy haciendo bien... En este caso, este script va en mi target(objetivo) osea que no es necesario almacenar en una variable mi GameObject por que es este script es un componente mas de mi objecto a manipular, entonces: El "transform.gameObject" vendria a ser la "variable" tipo GameObject que podria yo crear para almacenar mi transform.gameObject, tipo un "GameObject targetPlayer" y escribir "targetPlayer".GetCom.... bla bla, en fin. La cuestion NECESITO que me aclaren si lo estoy haciendo bien, si esto no es para nada practico, esto afeecta mucho el rendimiento? en el caso de ser asi, como puedo mejorarlo?, muchos me van a decir que puedo crear variables con un targetPlayer.GetComponent<>() pero de que tipo son esas variables? siempre me dan error nose si son tipo gameobject nose como llamar a las variables igual a GetComponent. En el caso de crear variables especificas para ese GetComponent, cambia mucho el rendimiento o algo? O es simplemente comodidad? para escribir menos codigo? tipo un copiar pegar escrita en un "targetPlayerMiScript" De paso les deje un invento de Ignore cast bastante ingenioso nombrando gameobject que quieran ignorar con esos nombres al principio, muy recomendado jajaja. Abrazo, espero que me saquen dudas y ayuden, gracias!
  5. Buenas tardes y gracias de antemano. Como podría acceder en c#, a una variable llamada variable1 mediante string "variable"+1? Este problema se me está resistiendo.
  6. Buenas tardes. Quisiera saber si se puede agregar a un game object un componente (un script) desde codigo, pero este componente puede variar, por lo que el AddComponent<Script>(); no valdria. Seria que en lugar de script(nombre del componente) hubiera una variable o algo. No se si me explico.
  7. Hola!!! Bueno estoy intentando algunas cosas para el inventario de mi juego, en estos momentos voy en que tome el objeto, la informacion y luego coloque el icono y elimine el objeto. Lo que pasa es que necesito modificar la textura de un boton o imagen del canvas (no importaria si fuese un boton o una imagen) y no se como podria acceder a la variable "Texture" del boton/imagen que proporciona el canvas. Podrian decirme como podria hacer en ese caso. Espero puedan ayudarme.Gracias. Chau.
  8. #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
  9. Hola gente, a ver si me podéis ayudar con esto que no lo he podido encontrar por ningún lado. Una de las escenas que estoy haciendo es instanciar flanes(objeto en 3d) por la pantalla, si habéis leído bien. Le he hecho una animación, solamente modificando su escala haciendo que haga el característico efecto del flan. Hasta aquí todo bien. El problema es que depende cuanto tiempo tengas pulsado el mousse el flan es de diferente tamaño y sobre ese tamaño quiero que me haga la animación. Evidentemente la animación es la misma en todas las instancias por que en los keyframes los datos de scale.x, scale.y y scale.z son los mismos y todos los flanes me salen con el mismo tamaño. La pregunta es, puedo meter la variable (de tiempo del mousse) dentro de los keyframes de la animación? De forma que si la variable cambia, la animación también. No se si me he explicado con claridad. Muchas gracias por adelantado.
  10. Saludos a todos llevo rato tratando de pasar el valor de una variable de un script a otro (los 2 están en el mismo gameObject -Main Camara-), lo que trato de hacer es asignarle el valor int de "puntuacion" a otra variable int "score", pero no lo logro; using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; public class Timer : MonoBehaviour{ private int score; void Update() { Puntuacion variable = GetComponent<Puntuacion>(); score = variable.puntuacion; Alguien me puede ayudar en decirme que estoy haciendo mal??? Gracias a todos y saludos!!!!!!!!
  11. Hola chicos esta es la primera vez que posteo, y es mi primer posteo de ayuda ya que tengo un problema para crear juegos que siempre lo tuve y siempre fue como una pared para mi. Mi pregunta es: ¿Por qué cada vez que ingreso una variable en C#, como por ejemplo "Slider" (Slider de UI en Unity 5), no me lo toma y me larga error, diciendo que no es una variable? PD: A los otros youtubers si les funciona, y las demas variables normales como Int, Float, etc, si me funcionan.
  12. ¿Cómo puedo obtener el nombre de una variable? Si tengo int vida = 5;Cómo puedo conseguir que se me devuelva el nombre de la variable.
  13. Hola, estoy buscando cómo se hace para poder coger variables de scripts programados en js y utilizarlas en otras script programados en cs. Después de estar un rato buscándolo en español, y sin encontrar nada, decidí buscarlo en inglés y encontré esto: http://www.41post.com/1935/programming/unity3d-js-cs-or-cs-js-access El problema que tengo y el que me gustaría por favor que me solucionasen, es que no sé que es cada cosa de esta script; es decir, que no sé si JS1, jsScript, CSharp1y csScript son variables, gameObjects o scripts, También agradecería que me dijesen si hay otra forma más fácil o mejor de hacer esto. Gracias
×
×
  • Create New...