(BUG?): Perdida de foco en iPhone

Started by JaViS, May 26, 2011, 02:05:42 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

josebita

Quote from: amzg on May 30, 2011, 05:57:05 PM
Quote from: josebita on May 30, 2011, 04:53:26 PM
Pfff... Estoy tocando las señales...
Sigo con ello y os cuento.
ANIMO!!!  ;D
;)

El tema de pérdida de eventos del mouse probablemente sea porque se estén registrando como eventos tipo touch en lugar de tipo mouse o quizás la pila se esté llenando. Imagino que eso será fácil de arreglar.

JaViS

Eso mismo estaba pensando yo...  ::)
Working on Anarkade. A couch multiplayer 2D shooter.

josebita

#17
Dejo el binario actualizado.
Éste debería actualizar el modo gráfico automáticamente y manejar los eventos correctamente.
Agradezco comentarios.

http://code.google.com/p/bennugd-monolithic/downloads/detail?name=BennuGD_iOS

[Edito] Binario actualizado a uno que respeta el scale_resolution_orientation
[Edito2] Se me olvidaba comentar que para que funcione el reseteo automático de resolución, hay que importar la mod_wm.

JaViS

Ahi acabamos de probarlo, estamos muy cerca, ahora anda bien, pero no respeta scale_resolution cuando restaura

es decir, nosotros estamos haciendo pruebas con un programa a la mitad de la resolucion del iphone (por cuestiones de rendimiento) y escalamos al tamaño del iphone con scale_resolution.

Cuando restauras la resolucion se ve chico, porque no esta respetando scale_resolution :P faltaria eso nomas. el resto anda muy bien :D
Working on Anarkade. A couch multiplayer 2D shooter.

josebita

Mañana te lo miro, ¿ok?
Gracias por avisar y por probarlo.

JaViS

listo. :)

gracias a vos!
KARMA por laborioso :D
Working on Anarkade. A couch multiplayer 2D shooter.

yogiri

Hey Josebita, genial el port. Muy buen laburo estás haciendo! Estuve probando esa ultima versión y como dice Javis no respeta el scale_resolution, pero también noté que surgió un bug que la version anterior no estaba (bah, no se si es un bug o yo estoy haciendo algo mal, pero la versión anterior funcionaba bien): la cosa es que ahora me rota la pantalla cuando giro el iphone. Es decir, lo tengo en landscape (por lo que entiendo el port usa portrait girando el programa con scale_resolution_orientation) y cuando lo inclino un poco hacia la derecha cambia la vista a upside down portrait. Intenté cambiar los valores del info.plist para que acepte nomás portrait (para bloquear del todo la rotación de pantalla) pero parece que no le da bola jeje.

Bueno, eso nomás. Saludos y exitos!

Hokutoy

Yogiri me suena que Josebita me comento que esta trabajando en solucionarlo.

Alguien lo ha probado en el IPAD?
Ahora si juego a un juego Bennu y apago el Ipad (Boton superior) y despues lo vuelvo a encender el juego no pierde el focus y funciona la mar de bien.
Por el contrario, si estoy jugando al juego Bennu y le doy al boton [] (EL UNICO BOTON FRONTAL) para el tema de multitasking, cuando vuelvo a pulsar el icono del juego para seguir la partida el juego se reinicia, no continua por donde estaba. Es eso normal? Se que hay juegos que en ipad te permiten volver del multitasking y otros que no.

Saludos!

josebita

#23
En cuanto a lo del giro: Lo estoy mirando pero casi seguro que lo correcto es permitirlo siempre a nivel de código bennu y limitarlo en el Info.plist (el fichero que describe cómo se debe comportar el juego con respecto al sistema, qué iconos usar...).

En cuanto a lo del multitasking, lo miro. De todas formas, a mí en mi ipod a veces el juego me vuelve a donde estaba y a veces no. El iPad tiene bastante poquita RAM para lo que es y en los manuales de desarrollo de Apple sobre iOS he leído que no garantizan que el programa siga abierto una vez queda en segundo plano: si el sistema decide que no tiene suficientes recursos disponibles, cierra programas sin avisar.

[PD] Y bienvenido, que no he dicho nada. A ver si esta tarde/noche puedo sacar los binarios con ese bug corregido, debería ser muy fácil de arreglar.

yogiri

Gracias por la bienvenida, perdón por hacer mi primer post un reporte de bug  ;D

Te cuento lo que ya probé con el Info.plist para ahorrarte algo de trabajo (estas pruebas fueron hechas con la última version que publicaste en este thread, donde no se cuelga al quitarle el foco, aunque no restaure la resolución):

<key>UIInterfaceOrientation</key>
<string>UIDeviceOrientationPortrait</string>

Esto funciona para la orientación inicial (si cambias Portrait por LandscapeRight o Left vas a ver que inicia con el status bar en landscape), pero una vez iniciado el juego vuelve a portrait.

<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
</array>

En teoría, esto solo permitiría a la aplicación correr en portrait (evitando incluso que entre en upside down portrait) pero tampoco está respetándolo (leyendo por ahí vi que mucha gente tiene problemas con esto y parece que no lo respeta nunca).


Bueno, solo eso por ahora. Éxitos!

josebita

Gracias por la info. Pensaba intentar algo así, sí. A ver qué sale porque puede que tenga que mirar si SDL está haciendo algo aquí, también.


JaViS

Bueno, aca el resultado de las pruebas con el ultimo binario :)

La primera vez que lo arrancas:

* sigue con el problema de la rotacion

Si entras al menu multitarea, o sales y vuelves a entrar:

* se deforma la imagen (usa un scale resolution raro)
* el problema de la rotacion desaparece

Si repites el ultimo paso:

* se arregla la resolucion
* no hay rastros del problema de la rotacion.


y asi consecutivamente, es decir, si vuelves a repetir el ultimo paso, se arruina la resolucion y luego se vuelve a arreglar.

Cada vez mas cerca! :D falta muy poquito ^_^
Working on Anarkade. A couch multiplayer 2D shooter.

josebita

Perdona, ando intentando compilar los binarios como universales para arm6 y arm7 a la vez y no lo he probado.
El próximo binario que subiré irá probado :)

josebita

Javis, si puedes mándame el código para que pueda probar el binario con tu código.
Prometo confidencialidad :)