El fallo era el bug de Unity con la interpolación de movimientos en la rotación.interpolation -> Euler Angles (Quartenion Aproximation)
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.
Páginas1
#2
General (Antiguo) / (RESUELTO) GAME OVER desde el principio
Abril 16, 2016, 10:22:10 PM
Uf, hay varios scripts en la escena.La del PJ sería:
using UnityEngine;después está la de la cámara, la de los items, la que guarda el estado del juego, los destructores... EDITO: La cámra tiene un scrip que activa el Game Over:
using System.Collections;
public class ControladorPersonaje : MonoBehaviour {
public float fuerzaSalto = 100f;
private bool enSuelo = true;
public Transform comprobadorSuelo;
private float comprobadorRadio = 0.4f;
public LayerMask mascaraSuelo;
private bool dobleSalto = false;
private Animator animator;
private bool corriendo = false;
public float velocidad = 1f;
void Awake(){
animator = GetComponent<Animator>();
}
// Use this for initialization
void Start () {
}
void FixedUpdate(){
if(corriendo){
GetComponent<Rigidbody2D>().velocity = new Vector2(velocidad, GetComponent<Rigidbody2D>().velocity.y);
}
animator.SetFloat("VelX", GetComponent<Rigidbody2D>().velocity.x);
enSuelo = Physics2D.OverlapCircle(comprobadorSuelo.position, comprobadorRadio, mascaraSuelo);
animator.SetBool("isGrounded", enSuelo);
if(enSuelo){
dobleSalto = false;
}
}
// Update is called once per frame
//void Update () {
//if(Input.GetMouseButtonDown(0)){
void OnGUI() {
if (GUILayout.Button("Press Me")){
if(corriendo){
// Hacemos que salte si puede saltar
if(enSuelo || !dobleSalto){
GetComponent<Rigidbody2D>().velocity = new Vector2(GetComponent<Rigidbody2D>().velocity.x, fuerzaSalto);
//rigidbody2D.AddForce(new Vector2(0, fuerzaSalto));
if(!dobleSalto && !enSuelo){
dobleSalto = true;
}
}
}else{
corriendo = true;
NotificationCenter.DefaultCenter().PostNotification(this, "PersonajeEmpiezaACorrer");
}
}
}
}
using UnityEngine;
using System.Collections;
public class ActivarGameOver : MonoBehaviour {
public GameObject camaraGameOver;
// Use this for initialization
void Start () {
NotificationCenter.DefaultCenter().AddObserver(this, "PersonajeHaMuerto");
}
void PersonajeHaMuerto(Notification notificacion){
camaraGameOver.SetActive(true);
}
// Update is called once per frame
void Update () {
}
}
#3
General (Antiguo) / reproducir animacion con Gui button!!
Abril 16, 2016, 10:12:43 PMCita de: leocub58 date=1460664189" data-ipsquote="" data-cite="leocub58" class="ipsQuotehombre, la solución más buena sería un simple Animator.Play("nombreAnimacion");Si te interesa este mundo aprende un mínimo de programación.A ver chaval...En esas estoy, aprendiendo poco a poco, y he aclarado correctamente que mi nivel es mínimo. Con lo cual...¿De que vas? Decir obviedades y ser prepotente es fácil compañero, pero la pregunta la hizo hace un mes y no te has dignado a contestar hasta que yo he escrito.Si te interesa el mundo en general, aprende a ser más humilde, no dar consejos estúpidos y a ayudar cuando toca, no solo cuando puedes quedar por encima de alguien (o creertelo más bien).
#4
General (Antiguo) / (RESUELTO) GAME OVER desde el principio
Abril 16, 2016, 06:26:39 AM
El tutorial es el de "Corre, Corre" y básicamente he seguido los pasos obviando algunos detalles (sonido, por ahora). El resultado que obtengo es practicamente el mismo, pero en android no aparece el personaje.
#5
General (Antiguo) / (RESUELTO) GAME OVER desde el principio
Abril 16, 2016, 02:37:47 AM
Buenas,Tengo un problema al exportar para Android. El juego está basado en un tutorial y se juega perfectamente en PC, mientras que en Android carga el juego perfectamente (el menú) pero cuando pulso para jugar se abre la escena de la fase e inmediatamente me salta la pantalla de 'Game Over'. En el segundo que puedo ver de la escena mientras salta el 'Game Over' no veo al personaje en la pantalla, veo todos los demás elementos pero el personaje ha desaparecido.He probado tocando el boxCollider y la detección de colisión en continuo en vez de discreto . Pero nada. (móvil de última generación)¿Alguna idea?
#6
General (Antiguo) / reproducir animacion con Gui button!!
Abril 14, 2016, 08:46:43 PM
Buenas,Yo también soy novato y estoy bastante perdido, pero se me ocurre que crees una Scene donde tengas la animación y que ese botón cargue esa Scene en concreto.No se si habrá mejores soluciones pero como ya te he dicho, soy muy novato en esto.
#7
General (Antiguo) / (SOLUCIONADO) No hace nada en Android
Abril 14, 2016, 08:00:38 PM
Era un fallo bastante tonto.Al exportar para Android tenía activado la casilla "Split Application Binary" lo que genera un archivo independiente con los datos de las escenas. Para hacerlo correctamente ese archivo debe estar dentro de la APK que se consigue desactivando esa casilla.Saludos.
#8
General (Antiguo) / (SOLUCIONADO) No hace nada en Android
Abril 12, 2016, 12:07:37 AM
Solucionado.
#9
General (Antiguo) / (SOLUCIONADO) No hace nada en Android
Abril 11, 2016, 11:22:51 PM
Muy buenas a todos.Estoy empezando con Unity y ya me surgen algunas dudas...En mi PC se carga y se juega perfectamente (sin errores en la consola), pero cuando lo ejecuto en Android se abre la pantalla de carga y el botón de JUGAR no hace nada de nada. Tengo este código:using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class BotonCargarEscena : MonoBehaviour {
public string nombreEscenaParaCargar = "GeneralScene";
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnMouseDown(){
SceneManager.LoadScene (nombreEscenaParaCargar);
}
}
Y en el inspector del objeto he escrito la escena a cargar...Alguna idea???Muchas gracias!
using System.Collections;
using UnityEngine.SceneManagement;
public class BotonCargarEscena : MonoBehaviour {
public string nombreEscenaParaCargar = "GeneralScene";
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnMouseDown(){
SceneManager.LoadScene (nombreEscenaParaCargar);
}
}
Y en el inspector del objeto he escrito la escena a cargar...Alguna idea???Muchas gracias!
Páginas1