domingo, 23 de junio de 2013

4 .-. Renderizado y Movimiento de la Cámara.


Bien tras todos estos post de teoría de matrices vamos a volver a nuestro motor para poder continuar mejorándolo. Lo primero que vamos a hacer es una tecla "ESC" para poder interrumpir la aplicación, a continuación vamos a realizar una serie de tareas con el fin de mostrar un cubo y probar que esto funciona.  Finalmente implementaremos un movimiento de la cámara sencillo mediate cuatro teclas.


Vamos a la clase Motor y añadimos este Sub. El objetivo de este Sub es eliminar los objetos en memoria que hemos creado para la aplicación y terminar la aplicación mediante Application.Exit. En nuestro caso y por ahora, solo tenemos el Device.

Public Sub Finalizar(ByRef DP3 As Direct3D.Device)
Try
DP3.Dispose()
Application.Exit()
Catch ex As Exception

End Try
End Sub

Como el FORM1 es el responsable de la ejecución de la aplicación, iremos a él y, en su evento KeyDown programaremos lo siguiente.

Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        Try
            Select Case e.KeyCode
                Case Keys.Escape
                    Engine.Finalizar(Dispo3D)
            End Select
        Catch ex As Exception

        End Try
    End Sub

En este evento controlamos la tecla que se pulsa, si es Escape entonces llamamos a Finalizar en el Motor y este terminará la aplicación.

No hay comentarios:

Publicar un comentario