K4W2 en aplicaciones para la Windows Store XML

Hola y bienvenidos a este nuevo tutorial de Kinect para Windows v2 en aplicaciones para la Windows Store.

En esta ocasión les quiero mostrar las dos maneras de implementar el Kinect en XML.

En el vídeo podrás apreciar la diferencia entre el uso del sensor en una aplicación catálogo  y la misma aplicación pero con la implementación del Kinect SDK.

Para poder desarrollar para Kinect es necesario en toda ocasión agregar las 3 referencias:

1

Para poder eliminar las advertencias y poder empezar a desarrollar, cambia de Any CPU a x86

2

En el AppxManifest > capacidades > Microphone y Webcam.

Nota: Sí no agregas estas dos capacidades no podrás hacer uso del sensor y te marcará error a la hora de correr tu aplicación.

3

 

Método 1:

Busca esta instrucción en el app.xaml.cs:

if (e.PreviousExecutionState != ApplicationExecutionState.Running)

bool loadState = (e.PreviousExecutionState == ApplicationExecutionState.Terminated);

Antes de la instrucción: Window.Current.Content =rootFrame; agrega el siguiente código:

KinectRegion KinectRegion = new KinectRegion();

KinectUserViewer KinectUserViewer = new KinectUserViewer()

{

HorizontalAlignment = HorizontalAlignment.Right,

VerticalAlignment = VerticalAlignment.Top,

Height = 100,

Width = 130,

};

Grid grid = new Grid();

grid.Children.Add(KinectRegion);

grid.Children.Add(KinectUserViewer);

KinectRegion.Content = rootFrame;

Y por último sustituye rootframe por grid de la siguiente manera:

Window.Current.Content =grid;

KinectUserViewer: Es la sección en que el usuario se verá dentro de la aplicación, ubícala y dale el tamaño de acuerdo al diseño de tu aplicación.

KinectRegion: Es toda la zona donde el sensor podrá usarse y permitirá al usuario tener el control de la aplicación.

Método 2:

Busca y posiciónate arriba de esta instrucción en el app.xaml.cs:

   void OnNavigationFailed(object sender, NavigationFailedEventArgs e)

y agrega el siguiente código:

public KinectRegion KinectRegion { get; private set; }

 Ahora busca la siguiente sentencia:

 if (e.PreviousExecutionState != ApplicationExecutionState.Running)

bool loadState = (e.PreviousExecutionState == ApplicationExecutionState.Terminated);

Antes de la instrucción: Window.Current.Content =rootFrame; agrega el siguiente código:

   KinectRegion = new KinectRegion(rootFrame,

HorizontalAlignment.Right, VerticalAlignment.Top);

 Y por último sustituye rootframe por KinectRegion de la siguiente manera:

Window.Current.Content = KinectRegion;

 Y verás que por ambos métodos obtenemos los mismos resultados.

 

Código de ejemplo:aquí

Ver la presentación: aquí

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s