Uso de la clase GLSurfaceView con diseños xml para Android
Quiero hacer uso de los diseños xml android. He puesto un glSurfaceView en un diseño de marco para utilizar en conjunción con un diseño lineal como …
<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1"> <android.opengl.GLSurfaceView android:id="@+id/surfaceviewclass" android:layout_width="match_parent" android:layout_height="match_parent"/> </FrameLayout> <LinearLayout android:id="@+id/gamecontrolslayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="5" android:background="@drawable/backdrop"> //some layout stuff </LinearLayout> <LinearLayout>
A continuación, llamar a mi diseño como así
- Crash al usar matrices como atributos de sombreado de vértices
- Cómo cargar texturas en OpenGL ES de manera eficiente
- ¿Hay alguna forma de ignorar las imágenes libgdx Limitación? (las imágenes deben ser potencia de dos)
- Desarrollo de juegos Android 3D
- Obtener información de GPU en Android sin SurfaceView
setContentView(R.layout.main); GLSurfaceView glSurfaceView = (GLSurfaceView)findViewById(R.id.surfaceviewclass);
En onCreate ();
¿Cómo puedo llamar a mi glSurfaceView para que pueda hacer uso de los diseños xml como este y también hacer referencia a mi propia clase GLSurfaceView (a continuación es el código que hace referencia a mi propia clase GLSurfaceView) …
glSurfaceView = new MyGLSurfaceView(this); setContentView(glSurfaceView);
¿Hay alguna manera de combinar estos dos? Quiero hacer esto porque tengo una carga de cosas que suceden en mi clase glSurfaceView como carga de archivos y eventos de toque. Y sólo he pensado en implementar este nuevo diseño
- Fuente de luz dentro de una habitación que actúa inesperadamente
- Pasar datos adicionales para fragmentar el shader a través de VBO - DynamicSpriteBatch
- Proporciona una vista previa de la cámara en una textura con destino GL_TEXTURE_2D
- C ++ vs Java en Android
- Cómo colocar un objeto delante de la cámara siempre
- GLSurfaceView procesa continuamente a pesar de cambiar el modo de render
- Pinch-Zoom con GLSurfaceView
- GlDepthMask (GL_FALSE) trashes el búfer de cuadros en algunas GPUs
Sólo haga referencia a su propia clase (con nombre de paquete completo) en el xml, de la misma manera que referencia android.opengl.GLSurfaceView. Asegúrese de que su subclase implementa el constructor adecuado y pasa los atributos y el contexto al padre:
public MyGLSurfaceView(Context context, AttributeSet attrs) { super(context, attrs);
Entonces usted puede buscarlo usando findViewById:
MySurfaceView glSurfaceView = (MySurfaceView)findViewById(R.id.surfaceviewclass);
Eso debería hacer el truco.
Si todo corect, como usted escribe en el xml-layout, el camino completo a la Glsurfaceview-class: (and classname)
Sólo funciona si la clase GLSurfaceView, escrita en un archivo propio. En este archivo para shure, los construcktors necesitan ser escritos correctamente.
He leído sobre, 1 constructor para xml-refer, y uno para la comunicación entre clases. Constructor para xml-refer, y uno para la comunicación entre clases, se puede encontrar, si se escribe correctamente, dentro de GLSurfaceView. GLSurfaceView, es donde se establece el procesador, establecerlo en el constructor xml, debe ser la única manera, funciona bien. (Mostrado en la columna 1)
Xml-constructor:
Public MyGLSurfaceView (Contexto contextual, AttributeSet attrs) {super (context, attrs); SetEGLContextClientVersion (2);
Renderer = new Renderer (contexto); SetRenderer (renderizador);
Si algunos de estos pueblos, que no pueden obtener trabajo de SurfaceView, en xml-layout mineral, que compran este libro de Apress – Beginning 3D-Game-Development. No estar enojado se lastimó usted mismo. En la página 44-45 se escribe, en un archivo. Escribir GLSurfaceView, como en mi respuesta, en el propio archivo. Renderer es un archivo propio, donde: onSurfaceCreated, onSurfaceChanged, onDrawFrame .. se puede encontrar Y The MainActivity
- Cómo hacer clickable en toda la fila de la vista de lista?
- Instalar android sdk usando la línea de comandos linux