Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 11/15/2015 in all areas

  1. 1 point
    andale asi sii jajaja gracias bro ahorita lo instalare
  2. 1 point
    Cuando pongas en el código, ejecuta la animación morir. .. También pones a true el valor del bool death. Luego pones a false el bool death cuando se restablezca la vida del personaje. Tiene lógica... Personaje vivo... death = false; Personaje muerto. .. death = true;
  3. 1 point
  4. 1 point
    Bueno supongo que lo mas fácil seria agregar al final del Update() la instrucción de ejecutar el Idle, esto dependiendo de si se esta ejecutando alguna animación: void Update () { // el codigo ya programado.... // al final del Update revisar si alguna animacion esta siendo ejecutada // en el componente respectivo... // Revisa si ninguna animacion esta siendo ejecutada por dicho componente... if (!animationComponentLegacy.isPlaying) { //... ejecuta la animacion idle. animationComponentLegacy.CrossFade("idle", 0.15f); } }luego probe esto con este script y un Gato animado... using UnityEngine; using System.Collections; public class PlayerCatController : MonoBehaviour { private Animation animationComponentLegacy; public string[] animClips; public string[] controls; // Use this for initialization void Start () { animationComponentLegacy = gameObject.GetComponentInChildren<Animation>(); } // Update is called once per frame void Update () { CatControls(); if (!animationComponentLegacy.isPlaying) { CatAnimate(0, 0.5f);// play the idle animState } } void CatControls() { for (int i = 0; i < controls.Length; i++) { if (Input.GetButtonDown(controls[i])) { CatAnimate(i + 1, 0.3f); } } } void CatAnimate(int animID, float fadeTime) { animationComponentLegacy.CrossFade(animClips[animID], fadeTime); } }Funciona bien.
  5. 1 point
    Lanzo mi más intensa repulsa a lo acontecido hoy en París. Faltan palabras para definir la masacre de gente a decenas que se ha acometido hoy. Yo dejo de escribir comentarios por unos días. Robert
  6. 1 point
    He creado una clase genérica para crear barajas de diferentes tipos(gameobjects, numeros, texto, etc...), para seleccionar valores aleatorios no repetidos: using UnityEngine; using System.Collections; public class BarajaScript : MonoBehaviour { public class Baraja<T>{ T[] baraja; System.Collections.Generic.List<T> valores; System.Random random = new System.Random(); public Baraja(T[] valores){ this.baraja = valores; this.Reset(); } public void Reset(){ this.valores = new System.Collections.Generic.List<T>(this.baraja); } public T Get(){ if(this.valores.Count > 0){ int temp = random.Next(this.valores.Count); T valor = this.valores[temp]; this.valores.RemoveAt(temp); return valor; } return default(T); } public int Count{ get { return this.valores.Count; } } } //Barajas de datos(matrices) public GameObject[] Baraja_GameObjects; public int[] Baraja_numeros = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; public string[] Baraja_letras = { "UNO", "DOS", "TRES", "CUATRO" }; //Objetos Barajas Baraja<GameObject> bGameObjects; Baraja<int> bNumeros; Baraja<string> bTexto; // Use this for initialization void Start () { //Crear Barajas con Matrices this.bGameObjects = new Baraja<GameObject>(this.Baraja_GameObjects); this.bNumeros = new Baraja<int>(this.Baraja_numeros); this.bTexto = new Baraja<string>(this.Baraja_letras); } void Update(){ //Seleccionar valores aleatorios, no repetidos, al pulsar tecla if(Input.GetKeyDown(KeyCode.Space)){ if(this.bGameObjects.Count>0) Debug.Log(this.bGameObjects.Get().name); } if(Input.GetKeyDown(KeyCode.Return)){ if(this.bNumeros.Count>0) Debug.Log(this.bNumeros.Get()); } if(Input.GetKeyDown(KeyCode.Backspace)){ if(this.bTexto.Count>0) Debug.Log(this.bTexto.Get()); } } }
  7. 1 point
    Sencillo y divertido buen trabajo!!!
  8. 1 point
    En la ayuda (http://docs.unity3d.com/ScriptReference/Random.Range.html) no se aclaran si el max es inclusive o no. Primero dicen sí y luego no. Por lo que creo recordar, el max es exclusive. Por otro lado, solamente una vez no los tiene que repetir? Lo digo porqué al final te quedarás sin números posibles o el tiempo de proceso será largo para conseguir el que quieres. No sería más recomendable "ayudar" al proceso a acotar? Es decir, cambiar el range en base a los resultados obtenidos, si los escogidos ya están en los límites. También utilizarlo en una coroutine para que "alivie" el proceso sería recomendable, aunque no la podrás hacer recursiva.
  9. 1 point
    Por cierto, hacer esto... else{ *****.value+= 0; }... es absurdo. A cada iteración del programa estas sumando hasta cuatro veces un +0 a una variable. Es perder tiempo y recursos de forma muy tonta. Quítalo.
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...