Home Menu

Menu



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 06/10/12, 14:35:19
Avatar de velot
velot velot no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: dic 2011
Mensajes: 5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Ayuda con Surfaceview

Estoy creando un juego y tengo una Activity Partida que utiliza otra clase GameView extendida a SurfaceView donde tengo diseñada la interificie del juego. El problema es que necesito devolver los valores del SurfaceView a la Activity Partida, que son los puntos y las vidas para cuando se pasa una pantalla o se te acaban las vidas y no se como hacerlo.

He intentado crear un Dialog en la clase GameView pero no me deja, y si lo creo en la Partida, no se como hacer para que lo llame desde la GameView. Espero que alguien me pueda ayudar, Gracias.
Responder Con Cita


  #2  
Viejo 06/10/12, 16:36:43
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
Tienes unas cuantas formas, te digo las palabras claves y ya buscas detalles de cada una.
a - Hazte un listener (o directamente usa las clases Observer y Observable),
b - Pásale la referencia de la activity al gameview
c - Usa una clase singleton para guardar el estado del juego mientras está en ejecución de modo que esté todo centralizado en una única clase
Responder Con Cita
  #3  
Viejo 07/10/12, 13:39:17
Avatar de velot
velot velot no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: dic 2011
Mensajes: 5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
estoy intentando hacerlo con listeners pero no hay manera en el SurfaceView hago un:

public static abstract class PasaResultado {
public abstract void getResult(int stage, int vidas, int puntos);
}

y luego desde otra funcion llamo para que pase los parametros y luego desde la clase Partida pueda crear un Dialog para avanzar de pantalla o salir segun toque.

PasaResultado.getResult(stage, vidas, puntos);

pero esto me sale subrallado en rojo y dice k ponga static en la funcion getResult, k si se lo pongo me da error. Y luego en la activity Partida la llamo de la siguiente manera

PasaResultado resultado = new PasaResultado()
{
public void getResult(int stage, int vidas, int puntos) {
this.stage = stage;
this.puntos = puntos;
this.vidas = vidas;
}
};

k luego esto ya lo tratare segun convenga, el problema es ke me sale el PasaResultado con rojo tambien, y me dice k cree la clase.
Me podrias ayudar? Gracias
Responder Con Cita
  #4  
Viejo 07/10/12, 14:09:31
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
Me temo que necesitas repasar los conceptos básicos de lenguajes orientados a objetos como Java: concepto de clase, objeto, instancia, modificadores, herencia, ámbitos y visibilidad, etc.

Si no se te van a multiplicar las dudas en cuanto quieras avanzar un poco más. Los errores de compilación (las cosas rojas) son autoexplicativos, p.ej. no puedes invocar un método que no sea static sin tener una instancia de la clase... y tampoco tiene sentido instanciar una clase que es static.
Responder Con Cita
  #5  
Viejo 07/10/12, 19:22:28
Avatar de velot
velot velot no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: dic 2011
Mensajes: 5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
lo siento es k ahora estoy muy perdido es la primera aplicacion k hago con el SurfaceView este me mata, esto lo e visto en un ejemplo de internet, me puedes explicar un poco como deberia hacerlo?
Responder Con Cita
  #6  
Viejo 07/10/12, 19:32: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
Que sea una SurfaceView da igual, es simplemente un objeto. Por eso digo que necesitas dominar los fundamentos de objetos antes.
Responder Con Cita
  #7  
Viejo 07/10/12, 19:37:46
Avatar de velot
velot velot no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: dic 2011
Mensajes: 5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
me podrias echar una mano sobre como hacerlo?? aki tengo la creadora, no se si hace falta

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
... (una serie de operaciones para tratar los parametros k me pasan
setContentView(new GameView(this,nivel, sonido, stage, puntos));
}
Responder Con Cita
  #8  
Viejo 09/10/12, 21:58:48
Avatar de velot
velot velot no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: dic 2011
Mensajes: 5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
consegui arreglar eso con observer y observable, lo que ahora, hago un finish() en la activity pero es como si el thread no se detuviera. en el emulador me funciona bien y se ve k se detiene y tal, pero en el movil se cuelga la aplicacion, que puede ser?

Última edición por velot Día 09/10/12 a las 22:25:27
Responder Con Cita
Respuesta

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


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: 21:32:37 (GMT +2)

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