Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ramunda

#121
General (Antiguo) / Assets gratis de Unity
Marzo 13, 2016, 02:25:10 PM
Hola buenas tardes , tengo una pegunta que llevo dias dándole vueltas y no encuentro una respuesta clara.Estoy haciendo un pequeño proyecto para android y alomejor en un futuro lo pondré en la app store, la pregunta es:Los assets stores de unity (de la shop) los que pones free!! , se pueden usar para uso comercial sin problemas? o no todos se pueden ? Si alguin lo sabe por favor me gustaria saberlo para seguir con la idea o dejarlo para uso privado.Desde ya muchas gracias  
#122
[quote author=ACarranza" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35153" data-ipsquote-contentcommentid="127164">de nada amigo cuando gustes, igual mas adelante te ayudo a estructurar mejor ese script, por que no es sano estar comparando la vida en el update, de hecho solo lo tendrias que hacer cada vez que tienes un cambio de vida, aparte de que te recomiendo que quites la linea de   playerFighting = true; qpara   agarre el valor que le estas enviando y no se force a ser true todo el tiempo,entonces mejorando es : quitar el playerFightting = true, ademas de quecar si la vida es <=0 en la funcion donde le estas bajando la vida y ajam :P
#123
[quote author=ACarranza" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35153" data-ipsquote-contentcommentid="127148">casi te puedo apostar mi vida a que tu problema rapida que tu variable playerFighting siempre es false      public void playerInCombat(bool combat){
        playerFighting = combat;
        playerFighting = true;
    }
ya que si te funciona el de bajar la vida a 0, entonces en ningun momento estan cambiando la variable playerFighting a true, osea esta funcion jamas es llamada, por ende jamas se pone en true y aunque la vida te baje a 0, pues si no cambias esa variable jamas te mostrara la animacion de muerte.espero te haya ayudado con tu problema saludos  [/quote]ACarranza, has dado totalmente en el clavo, el enemigo que me disparaba no activava la funcion  character.playerInCombat(true); tal y como tu me comentas lo cual la variable nunca llamada no funcionaba.asi que he añadido esto a mi disparo de el enemigo: 
			
#124
[quote author=Arthure" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35153" data-ipsquote-contentcommentid="127140">por los comentarios en ingles creia que lo habias copiado, pero si me dices que lo has hecho todo tu ... sorry ^.^me encantaria ayudarte, en serio, pero es que tiene tantos errores gordos (a parte del problema que buscas) que es mirarlo y duele la vista; da pereza buscar un error concreto en un codigo que lo miras por encima y estas viendo muchos otros errores ... no obstante, suerte con el codigo. ves probando con Logs y a ver si suena la flauta ;)
#125
[quote author=Arthure" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35153" data-ipsquote-contentcommentid="127137">http://unityspain.com/profile/27191-ramunda/?do=hovercard" data-ipshover="" href="<___base_url___>/profile/27191-ramunda/ date=1455554983]@ramunda te puedo preguntar de que youtuber o pagina has sacado ese codigo ... porque el que lo hiciera, se lo deberia hacer mirar eh !Hace unos cuantos meses que estas con Unity, hubieras tenido tiempo de aprender programacion ... no obstante, es muy licito no querer molestarse y pretender hacer proyectos a base de copy-paste aunque siempre te veas con el mismo problema. Pero por lo menos sigue este consejo, cuando pretendas hacer copy-paste sin saber programacion como minimo asegurate de que copias de alguien que sabe mas que tu ![/quote]Arthure, entiendo tu comentario, no lo copie de ningun yotuber...el desastre que vees lo he echo yo. a base de probar y leer.Y si te doy la razón llevo unos meses con unity , y también llevo medio año metido en una cama de hospital...debido a un accidente de trafico, y alli no dejan ni asomar un ordenador o libro..solo batas blancas y sueros.De buen rollo, si me quieres o puedes echar una mano te lo agradezco, sino tambien te lo agradezco, un saludo.  
[quote author=Braltor" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35153" data-ipsquote-contentcommentid="127138 date=1455555041]entonces ya sabes q no esta entrando a los lugares q necesitas... pones otros logs donde esperarias que cambien los valores, y asi sabes si hay algo desconectado[/quote]Asi lo intentare Braltor, gracias.
#126
[quote author=Arthure" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35153" data-ipsquote-contentcommentid="127135 date=1455554050] [/quote]
[quote author=Arthure" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35153" data-ipsquote-contentcommentid="127135 date=1455554050]jajajaja no ... lo que te esta diciendo es que utilices Debug.Log para que busques tu mismo en que punto esta el error. No obstante esa salida vale +Hola [/quote]Hola Arthure!! cuanto tiempo!! , ya estoy de nuevo por aquí después de unos meses muy catastróficos,  aver lo del log lo entiendo...pero no se donde ponerlo para ver donde se para ...y porque no sigue...no quiero que me arregleis el script , pero si me podeis dar una luz de el porque lo agradeceria , asi se donde esta el problema.
#127
[quote author=Braltor" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35153" data-ipsquote-contentcommentid="127132 date=1455553137]2 palabras: Debug.Log[/quote]Gracias por la pronta respuesta Braltor, no se si te entiendo bien pero me estas diciendo con esto que el Debug.Log es el problema? 
#128
Hola muy buenas, veréis , no se que demonios me he cargado de este código que me funcionaba bien...y ahora no veo por mucho que remiro donde tengo el error, la cosa es que la vida me baja cuando una bala me daña y llega a 0, pero no pasa nada osea se queda en 0 teoricamente deberia de hacer la animación bueno en este caso la explosión que le tengo asignada pero no pasa del 0, aver si alguien ve el error que seguro que es una tontería perore estoy rompiendo los cuernos y no lo veo!!, gracias de antemano!!! Gracias de antemano aquí el código: 
using UnityEngine;
using System.Collections;

    public class PlayerInfonaves : MonoBehaviour {
public GameObject laser1;
public GameObject laser2;
public GameObject monigote;
public GameObject healthBottle;
public GameObject player;
public AudioClip deathClip;
public AudioClip deathClip2;
public AudioSource sonido;
public AudioSource sonido2;
public float length;
public int Xmin = 400;
public int Xmax = 700;
public int Ymin = 300;
public int Ymax = 800;
public Transform spawnpoint;
public float timer2 = 40f;


int health = 100;
int damageCount = 0;
public float currentHealth;
bool playerFighting;
public GUIText healthbar;
float timer = 0.0f;
float healthTimer = 0.0f;
bool healthShouldRespawn = true;

public bool muerto = false;
public GameObject tuUI;

void Start () {
   currentHealth = health;
   tuUI.SetActive(false);
   }

void Update ()
{
timer2 -= Time.deltaTime;
//      if (timer2 < 0) {
//      timer2 = 100.0f;
//      currentHealth += 5;
//               }
   if (currentHealth > 100) {
   currentHealth = 100;
   }
   Cursor.visible = false;
   Debug.Log("player in combat? " + playerFighting);
   if(!playerFighting){
      Debug.Log("player is not fighting");
      if(currentHealth != 100){
         timer += Time.deltaTime;
         print ("timer: " + timer);
         if(timer > 0.5f){
            currentHealth += 0;
            timer = 0.0f;
      }
   }
   }
   else
   {
      if(currentHealth <= 0 && !muerto ){
         muerto = true;
         sonido.PlayOneShot(deathClip2);
         ///muerto2.play("muerto");
         GetComponent<PlayerControl>().enabled = false;
         laser1.SetActive(false);
         laser2.SetActive(false);
         monigote.SetActive(true);
         sonido2.mute = true;
         player.GetComponent<BloodSplat2>().enabled = true;

   
   



   
      }
   }
   healthbar.text = "Vida " + currentHealth + " / 100";
   
   if(healthShouldRespawn)
   {
      healthTimer += Time.deltaTime;
      
      if(healthTimer > 5.0f)
      {
         healthBottle.gameObject.SetActive(true);
         healthTimer = 1.0f;
      }
   }
   
   if(muerto){
      Cursor.visible = false;
      tuUI.SetActive(true);
      if(Input.GetKeyDown(KeyCode.Space)){
      Respawn();
      }
   }
   
}

public void ApplyDamage(int damage) {
   

   {
                       

      currentHealth -= damage;
      //check if health is lower than 0 when true it's set to 0 to avoid negative health.
      if (currentHealth < 0) {
         currentHealth = 0;
      }
      sonido2.PlayOneShot(deathClip);
      healthbar.text = "Health " + currentHealth + " / 100";
      damageCount =0;
   }
   
   print(currentHealth);
}

public void playerInCombat(bool combat){
   playerFighting = combat;
   playerFighting = true;
   }
      
public void Respawn(){
   tuUI.SetActive(false);
   muerto = false;
   player.gameObject.transform.position = spawnpoint.position;
   //transform.position = new Vector3(Random.Range(Xmin, Xmax),0, Random.Range(Ymin, Ymax));
   //transform.position = new Vector3(Random.Range(400.0f, 700.0f), 0, Random.Range(300.0f, 800.0f));
   GetComponent<PlayerControl>().enabled = true;
   player.GetComponent<BloodSplat2>().enabled = false;
   //Bocaarma.SetActive(true);
   laser1.SetActive(true);
   laser2.SetActive(true);
   monigote.SetActive(false);
   currentHealth = 100;
}

    void OnCollisionEnter (Collision collision) {
   Debug.Log("Hit by: " + collision.gameObject.name);


}

void OnTriggerEnter(Collider item){
   if(item.gameObject.tag == "PlayerHealthBottle")
   {
      if(currentHealth < 100)
      {
         currentHealth = currentHealth + 40;
         item.gameObject.SetActive(false);
         healthShouldRespawn = false;
         //Destroy(this.gameObject);
      }
   }
}
}
  
#129
General (Antiguo) / ayuda con este SCRIPT
Enero 28, 2016, 09:57:26 AM
[quote author=neker92" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35024" data-ipsquote-contentcommentid="126566">hola amigos, hice este script para que el JUGADOR cada vez que recoge MONEDAS se reproduzca un sonido. bueno con este escript que hice SI FUNCIONA pero  el problema es que  una vez que haya chocado O recogido ese objeto(moneda) sigue reproduciendo el sonido solo al tocar la pantalla o al presionar SPACE (en Unity) a pesar de no recoger moneda :::  Y no logro encontar el problema  espero su ayudaaaEL JUEGO QUE ESTOY HACIENDO ES PARECIDO A LA TEMÁTICA DE FLAPPY BIRDmi script---------///////////////////////////////////////////////////////////////////////////////////////////////////////////////////7public class sonidoCoin : MonoBehaviour
{    
    public AudioClip audioCoin;
    private AudioSource thisaudio; 
    void Awake()
    {        thisaudio = this.GetComponent<AudioSource>();
    }
      public void OnTriggerEnter2D(Collider2D other)
    {        if(other.gameObject.tag == "Coin")
        {
            thisaudio.clip = audioCoin;
            thisaudio.Play();        }     
   }
#130
General (Antiguo) / que estoy escribiendo mal?
Diciembre 27, 2015, 12:46:09 AM
Hola Tomas, en la linea :buscar = GameObject.Find("script linterna").GetComponent(linternaka);
 script linterna lo defines como un GameObject...es realmente eso un GameObject? y se llama script linterna?Porque creo que lo que intentas es buscar un GO,por ejemplo la linterna que es el objeto y que dentro de ella tiene el script linternakaPara que lo entiendas le estas diciendo que busque el script llamado linternaka dentro de un objeto que se llama supuestamente...script linterna...La cosa seria algo asi:#pragma strict
private var buscar : linternaka;
var linterna : GameObject;
function Start () {
 buscar = GameObject.Find("linterna").GetComponent(linternaka);
}function OntriggerStay () {
    if(Input.GetKeyDown("mouse 0")){
        linternaka.conseguido = true;
        linterna.SetActive(false);
    }
}Igualmente ya estas diciendo que linterna es un GO(GameObject)....aqui :var linterna : GameObject;Lo he mirado un poco rapido porque me cigo de sueño ZZzpero creo que por ai van los tiros espero haberte ayudado de no ser asi mañana lo miro con calma un saludo y animos.      
#131
General (Antiguo) / que estoy haciendo mal?, (SOLUCIONADO)
Diciembre 01, 2015, 08:42:48 PM
[quote author=kaito" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34576" data-ipsquote-contentcommentid="124391">GameObject.Find devuelve nulo si el GameObject que se busca se encuentra desactivado. SOLUCION: Emparenta el GameObject sangreok dentro de un empty GameObject que se encuentre siempre activo, y utiliza:
sangre = GameObject.Find("parentSangreok").transform.GetChild(0).gameObject
			
#132
General (Antiguo) / que estoy haciendo mal?, (SOLUCIONADO)
Diciembre 01, 2015, 06:51:34 PM
Hola muy buenas, tengo una duda y es que no se que estoy haciendo mal , me explico simple:creo un private gameobject para que no tenga que ponerlo cada vez y lo busque el script y así me evito ponerlo en cada enemigo.en este caso sangre.bien una vez definido y especificado (por gametag y nombre)le digo que lo active y desactive según necesidad.bien pues me tira error que no esta definido.Antes lo hacia con public y arrastraba el gameobject(sangreok, asi se llama) manualmente pero es un rollo para cada enemigo hacer eso , de echo realice lo mismo con el player y me funciona. Bien les dejo el script aver si me dan una luz 
using UnityEngine;
using System.Collections;
public class skellyattackgoul : MonoBehaviour {
public EnemyType myEnemyType;
private GameObject player;
private float distance;
public int damage =(10);
private GameObject sangre;
  //////  aqui el sangre
private PlayerInfo character;
private Animation myAnimation;
private float timer=0;
private bool shotdamage=true;

void Start () {
   player = GameObject.Find ("Jugador");
   sangre = GameObject.Find ("sangreok"); ////aqui el nombre de el gameobject con mismo tag.
   character = player.GetComponent<PlayerInfo>();
   myAnimation = gameObject.GetComponent<Animation>();
}

   // Update is called once per frame
   void Update () {
   if (!shotdamage) {
      timer += Time.deltaTime;
      if (timer >= 3) {
         shotdamage = true;
         timer = 0;
         sangre.SetActive(false);   ////desactivo
      }
   }
         

   distance = Vector3.Distance(player.transform.position,gameObject.transform.position);
      
      if (distance <= 3) {
      myAnimation.CrossFadeQueued("run", 0.3f, QueueMode.PlayNow);
      myAnimation.CrossFade("attack1");
      if (shotdamage) {
         shotdamage = false;
         sangre.SetActive(true); //// activo
         character.ApplyDamage (damage);
         //player.GetComponent<BloodSplat2>().enabled = true;
      }
   }

      
      else if (distance < 45 && distance > 3.0f) {
      myAnimation.CrossFadeQueued("attack1", 0.3f, QueueMode.PlayNow);
      myAnimation.CrossFade("run");
      gameObject.transform.LookAt(player.transform.position);
      transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.2f);
      character.playerInCombat(true);
         
      }   
      else
      {
      //GetComponent<FollowPath>().enabled = true;
      myAnimation.CrossFadeQueued("run", 0.3f, QueueMode.PlayNow);
      myAnimation.CrossFade("idle");
      //player.GetComponent<BloodSplat2>().enabled = false;
      character.playerInCombat(true);
      }
   }
   
   
}
   
#133
General (Antiguo) / Necesito una idea...(RESUELTO)
Noviembre 25, 2015, 09:38:00 AM
[quote author=brok" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34514" data-ipsquote-contentcommentid="124063">
private bool shotdamage = false;
   
    void Update()
    {
        if (!shotdamage)
        {
            timer += Time.deltaTime;

            if (timer <= 3)
           
                sangre.gameObject.SetActive(true);
                shotdamage = true;
                timer = 0;

           
        }

        else
        {
            timer += Time.deltaTime;

            if (timer <= 3)
           
                sangre.gameObject.SetActive(false);
                shotdamage = false;
                timer = 0;

           
        }
 }
Prueba asin aver que tal.[/quote]Muchas gracias Brok, tambien es una solucion , muchas gracias por la ayuda. 
#134
General (Antiguo) / Necesito una idea...(RESUELTO)
Noviembre 25, 2015, 01:01:56 AM
Buenooo que tonto soy...lo tenia en las narices, gracias a tu idea lo he resuelto :), fijate:
private GameObject player;
public GameObject sangre;
private float distance;
public int damage =(10);
private PlayerInfo character;
private Animation myAnimation;
private float timer=0;
private bool shotdamage=true;

   void Start () {
   player = GameObject.Find ("Jugador");
   character = player.GetComponent<PlayerInfo>();
   myAnimation = gameObject.GetComponent<Animation>();
   }
   
   // Update is called once per frame
void Update () {
   if (!shotdamage) {
      timer += Time.deltaTime;
      if (timer >= 3) {
         shotdamage = true;
         timer = 0;
         sangre.gameObject.SetActive(false);
      }
   }
      

   distance = Vector3.Distance(player.transform.position,gameObject.transform.position);
      
      if (distance <= 3) {
      myAnimation.CrossFadeQueued("run", 0.3f, QueueMode.PlayNow);
      myAnimation.CrossFade("attack1");
      if (shotdamage) {
         shotdamage = false;
         character.ApplyDamage (damage);
         sangre.gameObject.SetActive(true);
      }
   }
tenia el if abajo que me lo decia claro...cuando no se aplique daño que se encienda o apague, y asi cada bixo lo llama segun su damage...con el else como tu bien has dicho simplemente lo mataba lo eliminaba...asi esta bien , dejo el script por si a alguien le sirve.Gracias Nicolas!!!  
Buenooo que tonto soy...lo tenia en las narices, gracias a tu idea lo he resuelto :), fijate:
private GameObject player;
public GameObject sangre;
private float distance;
public int damage =(10);
private PlayerInfo character;
private Animation myAnimation;
private float timer=0;
private bool shotdamage=true;

   void Start () {
   player = GameObject.Find ("Jugador");
   character = player.GetComponent<PlayerInfo>();
   myAnimation = gameObject.GetComponent<Animation>();
   }
   
   // Update is called once per frame
void Update () {
   if (!shotdamage) {
      timer += Time.deltaTime;
      if (timer >= 3) {
         shotdamage = true;
         timer = 0;
         sangre.gameObject.SetActive(false);
      }
   }
      

   distance = Vector3.Distance(player.transform.position,gameObject.transform.position);
      
      if (distance <= 3) {
      myAnimation.CrossFadeQueued("run", 0.3f, QueueMode.PlayNow);
      myAnimation.CrossFade("attack1");
      if (shotdamage) {
         shotdamage = false;
         character.ApplyDamage (damage);
         sangre.gameObject.SetActive(true);
      }
   }
tenia el if abajo que me lo decia claro...cuando no se aplique daño que se encienda o apague, y asi cada bixo lo llama segun su damage...con el else como tu bien has dicho simplemente lo mataba lo eliminaba...asi esta bien , dejo el script por si a alguien le sirve.Gracias Nicolas!!!  
#135
General (Antiguo) / Necesito una idea...(RESUELTO)
Noviembre 25, 2015, 12:21:31 AM
[quote author=NicolasProner" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34514" data-ipsquote-contentcommentid="124059">Ahh disculpame, jaja bueno emm fijate a ver si te funciona o si no le mandamos skype y vemos juntosTambien despues del el if ultimo podrias ahi si agregarle SetActive(false);pero ya al volverse a reproducir esto se va a volver a activar[/quote]mmm he probado lo que me comentabas pero..sin exito..no da fallo pero tampoco se activa ni funciona lo he dejado asi:
   character = player.GetComponent<PlayerInfo>();
   myAnimation = gameObject.GetComponent<Animation>();
   }
   // Update is called once per frame
   void Update () {
   if (!shotdamage && sangre==true) {
      timer += Time.deltaTime;
      if (timer >= 3) {
         shotdamage = true;
         timer = 0;

      }
   }

//      else
//      {
//         sangre.gameObject.SetActive(false);
//      }