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

Respuesta
 
Herramientas
  #1  
Viejo 06/10/12, 14:35:19
Array

[xs_avatar]
velot velot no está en línea
Usuario novato en la web
 
Fecha de registro: dic 2011
Mensajes: 5
Tu operador: Movistar

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
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

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
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #3  
Viejo 07/10/12, 13:39:17
Array

[xs_avatar]
velot velot no está en línea
Usuario novato en la web
 
Fecha de registro: dic 2011
Mensajes: 5
Tu operador: Movistar

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
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

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.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #5  
Viejo 07/10/12, 19:22:28
Array

[xs_avatar]
velot velot no está en línea
Usuario novato en la web
 
Fecha de registro: dic 2011
Mensajes: 5
Tu operador: Movistar

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
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Que sea una SurfaceView da igual, es simplemente un objeto. Por eso digo que necesitas dominar los fundamentos de objetos antes.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #7  
Viejo 07/10/12, 19:37:46
Array

[xs_avatar]
velot velot no está en línea
Usuario novato en la web
 
Fecha de registro: dic 2011
Mensajes: 5
Tu operador: Movistar

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
Array

[xs_avatar]
velot velot no está en línea
Usuario novato en la web
 
Fecha de registro: dic 2011
Mensajes: 5
Tu operador: Movistar

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   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 11:12:18 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /