2011-11-14 17 views
8

Actualmente estoy trabajando en un juego y odiaría llegar a la mitad y descubrir que lo que estoy haciendo causa errores/mata el rendimiento. Así es como estoy pensando en configurarlo.Mezclando Android Views y GLSurfaceView

Layout of Views

Primero quieren tener un LinearLayout con un LinearLayout que contiene un HUD, y luego un GLSurfaceView. Sin embargo, en ciertos momentos puedo "pausar" la vista del juego y cambiar a un diseño lineal diferente que contiene un inventario o equipos, etc.

Creo que de esta manera sería mejor porque puedo hacer uso de todos los excelentes componentes que Android viene en lugar de hacer lo mío con OpenGL. Sin embargo, me preocupa que mezclar los dos tipos de vista pueda tener algunos problemas. Cualquier idea o sugerencia sería muy apreciada. Gracias.

Respuesta

18

He estado usando FrameLayout con GLSurfaceView como primer elemento. Es decir. en la parte inferior de la pila, con otras vistas/grupos de vistas en capas sobre la parte superior. Me gustaría recomendar simplemente haciendo una pausa el juego de bucle y la colocación de algún punto de vista opaca sobre la parte superior de la misma para ocultarlo en lugar de intercambiar puntos de vista dentro y fuera o lo que sea:

<FrameLayout 
    android:id="@+id/graphics_frameLayout1" 
    android:layout_width="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent"> 
    <android.opengl.GLSurfaceView 
     android:id="@+id/graphics_glsurfaceview1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
    </android.opengl.GLSurfaceView> 
    <LinearLayout 
     android:layout_height="fill_parent" 
     android:id="@+id/inventory" 
     android:gravity="center" 
     android:layout_width="fill_parent" 
     android:orientation="vertical" 
     android:visibility="gone"> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_height="fill_parent" 
     android:id="@+id/HUD" 
     android:gravity="center" 
     android:layout_width="fill_parent" 
     android:orientation="vertical"> 
    </LinearLayout> 
</FrameLayout> 

Android Framelayout for games. Check out ma ms paint skillz

+2

gran imagen! ;) –

Cuestiones relacionadas