Home Menu

Menu



Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 04/05/13, 16:39:09
Avatar de user19
user19 user19 no está en línea
Usuario novato en la web
Mensajes: 29
 
Fecha de registro: nov 2010
Mensajes: 29
Tu operador: Movistar
Mencionado: 2 comentarios
Tagged: 0 hilos
Problema con SurfaceView

Buenas, tengo un problema que me está volviendo loco y a ver si podeis echarme una mano.

Estoy desarrollando un juego android y os cuento lo que he hecho.

Tengo una clase activity, llamada Main.java de la siguiente manera:

----Main.java ---

public class Main extends Activity {

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
---> GameView game=new GameView(this);
setContentView(game);

}
.....

}

Como veis en dicha activity no uso el layout XML sino un SurfaceView (clase GameView)

----GameView.java---

public class GameView extends SurfaceView{

....

}

Y luego tengo una clase GameLoopThread , que es de tipo hilo que es el que refresca el dibujo en la pantalla.

---GameLoopThread----

public class GameLoopThread extends Thread {

...
}

La cuestión es que el juego me funciona y hace lo que tiene que hacer, pero ocurre que cuando el personaje coge una llave cuya colisión detecto en la clase GameView, quiero iniciar una nueva activity para mostrar un menú, por lo que en esta clase GameView cuando lo detecta la llave hago los siguiente:

--dentro la clase GameView donde detecto que he cogido la llave---

gameLoopThread.setRunning(false); //paro el hilo que refresca la pantalla del juego
Intent i=new Intent(getContext(),DisplayMessageActivity.class); //donde DisplayMessageActivity es la nueva actividad
getContext().startActivity(i); //la inicio


Pero cuando pruebo el juego y cojo la llave se cierra la aplicación ((

Alguien me podría decir que hago mal o alguna idea de hacerlo de otra manera??

Muchas gracias y saludos
Responder Con Cita


  #2  
Viejo 04/05/13, 16:47:46
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Cuando una aplicación se cierra es muy fácil saber por qué, solo hay que mirar la excepción que ha producido el cierre. Probablemente ni siquiera sea un problema con la surfaceview...

¿Qué excepción te lanza?
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 04/05/13, 21:26:51
Avatar de user19
user19 user19 no está en línea
Usuario novato en la web
Mensajes: 29
 
Fecha de registro: nov 2010
Mensajes: 29
Tu operador: Movistar
Mencionado: 2 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por mocelet Ver Mensaje
Cuando una aplicación se cierra es muy fácil saber por qué, solo hay que mirar la excepción que ha producido el cierre. Probablemente ni siquiera sea un problema con la surfaceview...

¿Qué excepción te lanza?
Ya lo he solucionado.Al final era una tontería, se me había olvidado declarar la activity en el manifest. Aún no controlo el modo debug del eclipse y no veía la excepción. Así que gracias y siento haberte hecho perder el tiempo por una tontería de este calibre jeje

Gracias de nuevo y un saludo
Responder Con Cita
  #4  
Viejo 04/05/13, 21:36:23
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
No hace falta entrar al modo debug, solo mirar la consola de texto que sale abajo. Resolver errores a ciegas cuesta mucho más, y cuando quieras meter alguna traza te saldrá en esa misma consola.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 04:49:49 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007