Jump to content

Argantonio

Registrados
  • Content Count

    25
  • Joined

  • Last visited

Posts posted by Argantonio


  1. Solucionado. Al final conseguí que funcionara de esta manera. Gracias por vuestra ayuda.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    using System;
    
    public class PuntosTotales : MonoBehaviour
    {
     public int contador;
        public Text Total;
        public Text AciertosD;
        public Text AciertosI;
        public Text Fallos;
    
    void Update () {
    
    contador = Convert.ToInt32 (AciertosD.text) + Convert.ToInt32 (AciertosI.text) - Convert.ToInt32 (Fallos.text);
    Total.text = contador.ToString ();
    }}

     


  2. On 1/28/2019 at 1:40 AM, Alex said:

    Cualquier duda solo envíala, psdt: como dice Lightbug a la próxima que tengas este tipo de pregunta, sube el código completo, así haces que resolver el problema que tengas sea más fácil.

    Un placer Ayudar!

    Lo que es un placer es disponer de ayuda de gente como vosotros. 

     

    On 1/27/2019 at 10:19 PM, lightbug said:

    Qué es "el punto"? ...

    Me refería "al punto" anteriormente sumado...:1_grinning:

    Este es el script para uno de los botones, en el otro botón tengo asignado el mismo, pero esta vez he separado los contadores, ahora hay "contadorI", "contadorD", "contadorfallos" y "puntajetotal"

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    public class BTI : MonoBehaviour
    {
    int contadorI;
    public Text puntuacionI;
     
    private bool isColl = false;
    private Collider2D collider;
     
    public void destroyWithButton(){
    if(isColl){
      Destroy(collider.gameObject);
    contadorI = contadorI +1;
    puntuacionI.text = ": " + contadorI;
    Debug.Log ("bien");
    }
    }
     
    void OnTriggerEnter2D(Collider2D col){
      if(col.gameObject.tag == "izquierdo"){
      collider = col;
      isColl = true;
    }
    }
     
    void OnTriggerExit2D(Collider2D col)
    {
    if(col.gameObject.tag == "izquierdo"){
    isColl = false;
    }
      
    }}

    Este es el de mi colisionador de fallos. 

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    public class Colisionador : MonoBehaviour
    {
    int contadorfallos;
    public Text puntuacionfallos;
     
    public void OnTriggerEnter2D(Collider2D trigger){
    GameObject target = trigger.gameObject;
    Destroy( target );
    contadorfallos = contadorfallos +1;
    puntuacionfallos.text = ": " + contadorfallos;
    }
    public void Awake()
    {
    contadorfallos = 0;
    puntuacionfallos.text = ": " + contadorfallos;
    }
    }

  3. Tengo un contador de 'fallos' y otro de 'aciertos',  los fallos los registro en un contador (fallos), y los aciertos en otro "aciertos", el problema es que para los aciertos uso dos botones y cada uno destruye un trigger asignado, cuando destruyo con uno de los botones el contador cuenta "1", pero cuando destruyo con el otro, me descuenta el punto.Me estaba replanteando crear dos contadores independientes (ocultos)  y luego ver de que manera puedo ¿usar otro campo de texto para que me haga la suma total?:35_thinking:

    int contador;
    public Text Aciertos;
    ........
    Destroy(collider.gameObject);
    contador = contador +1;
    Aciertos.text = ": " + contador;
     

  4. Gracias lightbug, voy a probar y te cuento :91_thumbsup:

    :1_grinning: Genial! Lo dejé así y funciona. Ahora a por el contador y casi tengo terminado mi primer proyecto.:96_ok_hand:

    public class Colisionador : MonoBehaviour {
    	
      public void OnTriggerEnter2D(Collider2D trigger) {
    	GameObject target = trigger.gameObject;
    	Destroy( target );
    	}
    }

     


  5. Hola a todos. Tengo un 'colisionador' (un gameobject con un BoxCollider2d y un RigidBody2d), en el tengo asignado este script para detectar las colisiones que funciona bien, pero me gustaría que el sprite que pasa sobre este 'colisionador' sea destruido. He intentado algunos métodos pero estoy muy verde aún... ¿Qué debo implementar en el? Gracias.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Colisionador : MonoBehaviour {
    
    	public void OnTriggerEnter2D(Collider2D trigger){
    	Debug.Log ("fallo");
        }
    }

     

     


  6. 20 hours ago, lightbug said:

    el tag no hace nada, tampoco las capas por si mismas, vos podés decir que capa choca con cual (via Layermask o matriz de colisiones), pero el tag ni pincha ni corta. 

    En mi proyecto, que es el primero que hago, todo sea dicho, si no tienen el mismo tag no funcionan, y esto ocurre porque así lo tengo asignado en los scripts... Yo lo unico que he hecho es ponerle un ejemplo de como funciona en mi proyecto, no pretendía dar consejos como 'experto' ni nada parecido. Un saludo!

     


  7. 2 hours ago, pioj said:

    Probablemente es un bug de Unity. A partir de la 2018.3 han empezado a meter cosas nuevas. En UnitySpain recomendamos no pasar de la 2018.1.9.  A medida que vayamos testeando versiones, os iremos recomendando una u otra...

    Gracias pioj, sea como fuere en mi pc esta versión da problemas. Había cosas que les funcionaba a todos menos a mi y ahora lo del canvas. He reinstalado y se ha solucionado, lo malo es que sigo teniendo la ultima versión de Unity y  con lo que me explicas me temo que me volverá a pasar. Bueno seguiré adelante y si me vuelve a dar un problema instalaré una versión antigua. Muchas gracias pioj.


  8. Existen herramientas de modelado que el fabricante entrega con el juego, con estas es facil modelar, pero a pulso y sin conocimientos es muy complicado. Porqué no te animas a crear una escena simulando tu juego, y que sea funcional?? así aprenderías mucho, y si funciona, el siguiente paso es meterle mano al juego y ver que tal se te da lo aprendido. 


  9. Yo estoy detectando las colisiones y en un objeto utilizo un boxcollider2d + rigid2d, en el otro solo el boxcollider. El objeto donde chocan los sprites es un rigidbody2d de tipo 'kinematic' y su boxcollider2d tiene la opcción 'is trigger' activada, y el sprite que es quien se mueve y choca, tiene un boxcollider2d también con trigger activado, ambos en el mismo tag, si no no se detectan.


  10. 7 hours ago, DavidV said:

    Es extraño, a mí me funciona independientemente de donde esté el botón. El botón como tal no interactua con los demás GameObject, da igual donde esté ya que éste sólo responde a un evento (destroyWithButton()). ¿Podrías enviarme unas imágenes (del inspector) de los sprites, el Empty gameObject y del Botón?

    Hola David, ok edito todo lo que escribí. Son dos botones, cada uno tiene asignados sus correspondientes sprites, su correspondiente codigo, tags, etc. Modificando el radio del collider funciona, pero solo con un boton jjj que locura. Los botones los dupliqué y modifiqué, pero voy a crear desde cero el que no funciona y a ver que pasa. Las capturas tienen mezclados los Tag porque hice 2, uno por boton y no me fijé a la hora de hacerlas, pero te confirmo que todos los inspectores están idénticos.

    bton.JPG

    GameObjet.JPG

    sprites.JPG


  11. Funciona perfecto!! :1_grinning:. Te lo agradezco mucho estaba estancado con eso jejeje 

     

    16 hours ago, DavidV said:

     

    Ya lo he probado y me ha funcionado, intenta las soluciones que te he dado y me dices si te ha salido algún problema

    Funciona siempre y cuando el botón quede dentro del rectángulo (zona de acción) del boxcollider, al sacarlo deja de tener el efecto... Sabes si se puede solucionar de alguna forma? porque no da libertad de colocación del botón. Gracias 

    • Like 1

  12. 2 hours ago, DavidV said:

    Entendí lo siguiente: Quieres que cuando un sprite pase por encima de un colisionador, si en ese momento de colisión se presiona un botón, dicho sprite se destruya. 

     

    Hola David, exacto! Eso eso es lo que pretendo... He probado tu código, lo que no me aparece es la opción de destruir "destroyWithButton()"  muchas gracias por tu interés y tu tiempo. 


  13. Por favor, tened en cuenta que mi nivel es muy bajo, espero poder expresarme bien para que quede clara mi duda, llevo con Unity y la programación una semana y a ratos. Gracias por vuestra comprensión, mi consulta es para un proyecto 2d.

    He creado un Button y a este le he añadido un colisionador, el cual he desplazado fuera del Button, al centro de la pantalla, con la idea de que un sprite pase por encima y yo haga click CON EL MOUSE sobre el Button y este destruya el sprite. Había fabricado esto mismo pero con un botón hecho a partir de un sprite, el problema es que hay que usar el teclado para que funcione y no es la intención, lo programé para que funcionara con el mouse, pero el problema es que se activa haciendo click en cualquier lado de la pantalla, otra cuestión aparte es que con asignación de teclas no me funcionaria en Android.

    En concreto:

    Activar desde un Button el colisionador asignado y destruya el sprite que pasa por encima.

    Con esto daría un paso importante a mi primer proyecto. Muchas gracias.


  14. 16 hours ago, lightbug said:

    IMO gran error, modificando scripts no vas a llegar a nada, quizás te termine andando no digo que no. Te cuento una personal, siempre cuando hacía girar a un personaje moviendo el mouse (estilo FPS) hacia copy paste de un script de unity, realmente no entendía un pomo lo que estaba haciendo, siempre modificando esto y aquello y tratando de adaptar lo que había a lo que quería, nunca se me daba ... años después me decidí a perder miedo al quaternion y al mouseLook, en cuento corto, terminé haciendo lo que el equipo de Unity hacía en 40 líneas pero en 8, y ahí fue cuando realmente aprendí (incluso mi código era mucho mejor). Por eso modificar scripts ya hechos no me va, sobretodo para cosas simples como esta. Una opinión nada más.

    Te doy toda la razón en lo que me dices, de hecho voy a hacerte caso. Pero el principal problema son los pocos conocimientos, y es complicado por falta de tiempo aprender con tutoriales porque ninguno se acopla a lo que quieres hacer al 100%, y tampoco existe un método único para programar esto o aquello, así que la información se hace confusa, a no ser que tengas una base de conocimientos suficiente y puedas ir más al grano. Voy a tratar de hacer algunos intentos... si veo que no avanzo o que me es complicado iré probando otras herramientas hasta dar, si es posible, con la adecuada para mi. Gracias por tu respuesta.


  15. Me he decidido por el estilo Guitar Hero, me descargué un proyecto desde un canal de youtube y seguí los pasos del tutorial desde cero. Me pareció un metodo 'sencillo' y estoy intentando hacerlo sin la base del proyecto, osea desde cero.  Las notas (imágenes) van cayendo, y cuando llegan a la altura de unos botones haces click en unas teclas asignadas y si aciertas te cuenta puntos, etc. Me pareció buena base con la que comenzar, pero ahora viene el problema de la personalización... Por ejemplo, no se como modificar el script para en vez de caer que se muevan de manera horizontal, y en eso estoy. Muchas gracias por tu respuesta.


  16. Hola, soy nuevo en esto de Unity y con poca experiencia en programación. Quiero empezar con algo que me pareció sencillo pero no se como afrontar la base del proyecto. Sencillamente quiero crear dos botones, uno para mano derecha y otro para izquierda, estos botones deben ser pulsados repitiendo combinaciones, basicamente son ejercicios de percusión que el jugador debe repetir. La cuestión es que no se como darle esa función a los botones virtuales, que no teclas, porque lo que pretendo es que mi aplicación funcione en mi tablet y como son varios ejercicios quería darle diferentes niveles, si erras en cualquier pulsación que detecte el error, etc. Agradecería que alguien pudiese aportarme alguna idea... 

    Un saludo a todos, felices fiestas y prospero año.

    • Like 1
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...