Jump to content
UnitySpain

DavidV

Registrados
  • Content Count

    73
  • Joined

  • Last visited

  • Days Won

    2

DavidV last won the day on January 10

DavidV had the most liked content!

Community Reputation

19 Good

About DavidV

  • Rank
    Usuario

Profile Information

  • Especialidad
    Coder

Recent Profile Visitors

626 profile views
  1. 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?
  2. 1. Si en el punto 7 te aparece el nombre del Script pero luego en el punto 8 no aperece el nombre de la función "destroyWithButton()" es porque la función no la has hecho pública. Busca en el script y has pública la función (debe quedar public void destroyWithButton()). 2. Si en el punto 7 no te aparece el nombre del script, es porque no has arrastrado el objeto correcto: El script debes adjuntarlo al Empty GameObject y luego arrastras ese GameObject hasta donde dice: None (Object) 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
  3. 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. Si es así te recomiendo lo siguiente: 1. Crea un Empty GameObject (GameObject -> Create Empty) este será el objeto central en el cual los sprites tendrán que colisionar, centra el Empty GameObject, agregale un Collider2d (Add component -> Physics 2D -> Box collider) y posteriormente ajusta el tamaño del Collider2d. Recuerda también activar la propiedad Is trigger 2. Crea un botón por medio de UI Canvas (GameObject -> UI -> Button). 3. Los sprites que serán destruidos añádeles un nuevo tag. 4. Crea un Script (llámalo como quieras) en él escribirás las siguientes lineas de código: private bool isColl = false; private Collider2D collider; void Start() { } void Update() { } public void destroyWithButton(){ if(isColl){ Destroy(collider.gameObject); } } void OnTriggerEnter2D(Collider2D col){ if(col.gameObject.tag == "nombredeltag"){ collider = col; isColl = true; } } void OnTriggerExit2D(Collider2D col) { if(col.gameObject.tag == "nombredeltag"){ isColl = false; } } 5. Arrastra el script al Empty GameObject. 6. En el button busca el componente Button (Script) en lo ultimo de ese componente encontrarás una seccion llamada On click (Button), da click en el signo "+" y posteriormente arrastra el Empty GameObject hasta donde dice: "None (Object)". 7. Una vez hecho lo anterior, da click en donde dice "No function" y busca el nombre que le pusiste al Script. 8. En el desplegable que aparece, busca el nombre de la función: "destroyWithButton()" 9. habiendo hecho lo anterior en teoría debería funcionar, más tarde lo probaré (si tú no lo has hecho antes) y corregiré si he terminado tal vez cometiendo un error.
  4. Hola, había dejado de usar Unity por un tiempito (La ultima vez que lo usé y exporté a Android fue hace unos 4-5 meses) y en estos días se me presentó un nuevo proyecto, lo empecé a desarrollar y cuando llegó el momento de exportar el apk apareció el siguiente error: Failed to compile resources with the following parameters: -bootclasspath "C:/Users/David/AppData/Local/Android/android-sdk\platforms\android-26\android.jar" -d "C:\Users\David\Documents\Unity projects\MuseoEtnografico\Temp\StagingArea\bin\classes" -source 1.6 -target 1.6 -encoding UTF-8 "com\Unimagdalena\Neponuseno\R.java" "com\unity3d\player\R.java" Agradecería mucho vuestra ayuda.
  5. Hola, iniciando un nuevo proyecto me ha resultado un pequeño error en el que no sé si es algo general, o sólo sucede en mi pc. Tengo el siguiente código: void FixedUpdate () { if (Input.GetKeyDown(KeyCode.X)) { stop = !stop; print (stop); } switch (stop) { case false: //GetComponent<Rigidbody2D> ().velocity = Vector2.zero; flecha.transform.RotateAround (Aro.transform.position, -Vector3.forward, velocidadFlecha * Time.deltaTime); Aro.SetActive (true); break; case true: flechaPosition = flecha.transform.localPosition; //GetComponent<Rigidbody2D> ().velocity = flechaPosition * velocidad; Aro.SetActive (false); break; } } } El error está en el if (Input.GetKeyDown(KeyCode.X)) { stop = !stop;}, como ustedes ya saben esto cambia una variable bool de verdadero a falso y viceversa cada vez que se presiona la tecla X. Pero casi siempre, realiza dos veces la acción que se encuentra dentro de ese condicional, es decir; si era true, pasa a false y enseguida pasa nuevamente a true, cuando solo lo he presionado una sola vez, algo que por supuesto daña el resto del script. ¿A alguien más le ha sucedido o sólo es un problema en mi pc?, ¿Tiene esto alguna solución? De antemano muchas gracias por su ayuda.
  6. Está muy bueno!!, soy al único que le recuerda a Dofus e.e?
  7. Creo que se refiere a que si la pantalla se amplía o se achica, el texto no queda en la posición original. Si es así te recomiendo leer la siguiente guía: https://docs.unity3d.com/es/current/Manual/HOWTO-UIMultiResolution.html
  8. También podrías hacerlo sacandole el Módulo sobre 10 al contador. Sería algo así: if(Contador % 10 == 0 ){ Generar Item; }
  9. DavidV

    Camara

    Yo hice que se acercara al personaje por medio de animaciones, pero sucede casi igual a lo de Miguel, si el personaje va demasiado rápido traspasa la pared y luego ejecuta la animación. Viendo el trailer de The legend of Zelda: Breath of the wild noté que en el juego se volvía trasparente el objeto traspasado, es otra forma de hacerlo también.
  10. http://unity3d.com/es/learn/tutorials/topics/scripting/instantiate?playlist=17117 Ahí explican correctamente cómo disparar, espero te sirva.
  11. http://unity3d.com/es/learn/tutorials/topics/mobile-touch/accelerometer-input?playlist=17138
  12. La mejor manera es usar mecanim. https://unity3d.com/es/learn/tutorials/modules/beginner/live-training-archive/animate-anything
×
×
  • Create New...