private void load_window(object sender, RoutedEventArgs e) { //Esto es opcional pero ayuda a colocar el dispositivo Kinect a un cierto angulo de inclinacion, desde -27 a 27 ArduinoPort = new System.IO.Ports.SerialPort(); ArduinoPort.PortName = "COM3"; //sustituir por vuestro ArduinoPort.BaudRate = 9600; ArduinoPort.Open(); this.isGrip = false; //miKinect.Stop(); this.miKinect = KinectSensor.KinectSensors[0]; //this.sensorChooser.sensor.Kinect;// miKinect.SkeletonStream.Enable(); miKinect.ColorStream.Enable(); this.miKinect.Start(); miKinect.ElevationAngle = 15; this.miKinect.Stop(); sensorChooser = new KinectChooser(this.kinectRegion, this.sensorChooserUi); // miKinect.ColorFrameReady += miKinect_ColorFrameReady; // miKinect.SkeletonFrameReady += miKinect_SkeletonFrameReady; // AsyncCallback callBack = new AsyncCallback(OnQuery); // KinectRegion.AddQueryInteractionStatusHandler(this.kinectRegion, OnQuery); miKinect.ColorFrameReady += miKinect_ColorFrameReady; Task t1 = Task.Run(() => KinectRegion.AddQueryInteractionStatusHandler(this.kinectRegion, OnQuery)); Task t2 = Task.Run(() => miKinect.SkeletonFrameReady += miKinect_SkeletonFrameReady); // Task t3 = Task.Run(() =>this.dist.Text = ArduinoPort.ReadByte().ToString()); }
/// <summary> /// Called to initialize the control when we are not in design mode. /// </summary> private void InitializeKinectThumb() { KinectRegion.AddHandPointerGotCaptureHandler(this, this.OnHandPointerCaptured); KinectRegion.AddQueryInteractionStatusHandler(this, this.OnQueryInteractionStatus); KinectRegion.AddHandPointerMoveHandler(this, this.OnHandPointerMove); KinectRegion.AddHandPointerGripReleaseHandler(this, this.OnHandPointerGripRelease); KinectRegion.AddHandPointerLostCaptureHandler(this, this.OnHandPointerLostCapture); KinectRegion.SetIsGripTarget(this, true); }
private void InitializeKinectButtonBase() { KinectRegion.AddHandPointerEnterHandler(this, this.OnHandPointerEnter); KinectRegion.AddHandPointerMoveHandler(this, this.OnHandPointerMove); KinectRegion.AddHandPointerGotCaptureHandler(this, this.OnHandPointerCaptured); KinectRegion.AddHandPointerLostCaptureHandler(this, this.OnHandPointerLostCapture); KinectRegion.AddHandPointerGripHandler(this, this.OnHandPointerGrip); KinectRegion.AddHandPointerGripReleaseHandler(this, this.OnHandPointerGripRelease); KinectRegion.AddQueryInteractionStatusHandler(this, this.OnQueryInteractionStatus); }
public DragDropElement() { lastGripState = GripState.Released; kinectRegionBinder = new KinectRegionBinder(this); kinectRegionBinder.OnKinectRegionChanged += OnKinectRegionChanged; KinectRegion.AddHandPointerEnterHandler(this, OnHandPointerEnter); KinectRegion.AddHandPointerMoveHandler(this, OnHandPointerMove); KinectRegion.AddHandPointerGotCaptureHandler(this, OnHandPointerCaptured); KinectRegion.AddHandPointerLostCaptureHandler(this, OnHandPointerLostCapture); KinectRegion.AddHandPointerGripHandler(this, OnHandPointerGrip); KinectRegion.AddHandPointerGripReleaseHandler(this, OnHandPointerGripRelease); KinectRegion.AddQueryInteractionStatusHandler(this, OnQueryInteractionStatus); }
private void createApplesAndTrees() { setAppleSize(); Point rangeMin = new Point(); Point rangeMax = new Point(); Canvas[] tree = new Canvas[treesCount]; myApple = new Apple[treesCount * applesOnTree]; ImageBrush treeBg = new ImageBrush(); treeBg.ImageSource = new BitmapImage(new Uri(@"../../../Graphics/ApplesGame/tree.png", UriKind.Relative)); int appleCounter = 0; for (int i = 0; i < treesCount; i++) { tree[i] = new Canvas(); tree[i].Width = (int)(windowWidth / treesCount * 0.5) * 1.5;//*1.7 - full screen of trees; tree[i].Height = (int)(windowHeight / 1.25); Canvas.SetTop(tree[i], 50); Canvas.SetLeft(tree[i], (i * tree[i].Width + 20)); tree[i].Margin = new Thickness((i * 0.2 * tree[i].Width), 0, 20, 0); tree[i].Name = "tree" + i; playfield.Children.Add(tree[i]); tree[i].Background = treeBg; setApplesArena(ref rangeMin, ref rangeMax); colorsCount = basketCount; for (int j = 0; j < applesOnTree; j++) { myApple[appleCounter] = new Apple(rangeMin, rangeMax, appleSize, appleCounter, i, colorsCount); var button = myApple[appleCounter].Figure; button.Foreground = new SolidColorBrush(Colors.Transparent); KinectRegion.AddQueryInteractionStatusHandler(button, OnQuery); KinectRegion.AddHandPointerGripHandler(button, OnHandPointerGrip); tree[i].Children.Add(button); button.MouseEnter += button_MouseEnter; button.StylusEnter += button_StylusEnter; button.MouseLeave += button_MouseLeave; button.StylusLeave += button_StylusLeave; appleCounter++; } } }
/** * Evento que se genera al cargar la mainwindow */ private void loadWindow(object sender, RoutedEventArgs e) { this.isGrip = false; this.miKinect = KinectSensor.KinectSensors[0]; //this.sensorChooser.sensor.Kinect;// miKinect.SkeletonStream.Enable(); miKinect.ColorStream.Enable(); this.miKinect.Start(); miKinect.ElevationAngle = 15; this.miKinect.Stop(); sensorChooser = new KinectChooser(this.kinectRegion, this.sensorChooserUi); miKinect.SkeletonFrameReady += miKinect_SkeletonFrameReady; Task t1 = Task.Run(() => KinectRegion.AddQueryInteractionStatusHandler(this.kinectRegion, OnQuery)); }
private void OnHandPointerGrip(object sender, HandPointerEventArgs handPointerEventArgs) { var button = sender as KinectCircleButton; if (handPointerEventArgs.HandPointer.IsInGripInteraction == true) { int buttonContent; GripOverButton = true; KinectRegion.AddQueryInteractionStatusHandler(kinectRegion, OnQuery); KinectRegion.AddHandPointerGripReleaseHandler(kinectRegion, OnHandPointerGripRelase); var Tree = button.Parent as Canvas; Tree.Children.Remove(button); buttonContent = (int)button.Content; GripApple = myApple[buttonContent]; Tree.Children.Remove(myApple[buttonContent].Figure); Treenum = GripApple.TreeNumber; handPointerEventArgs.Handled = true; } }
private void load_window(object sender, RoutedEventArgs e) { //Esto es opcional pero ayuda a colocar el dispositivo Kinect a un cierto angulo de inclinacion, desde -27 a 27 this._sensor = KinectSensor.KinectSensors[0]; this._sensor.Start(); this.ang = 0; _sensor.ElevationAngle = 15; this._sensor.Stop(); sensorChooser = new KinectChooser(this.kinectRegion, this.sensorChooserUi); pen = new Pencils(this); col = new Colors(this); size = new SizePaint(this); this.ctl = new Controlador(); KinectRegion.AddHandPointerMoveHandler(this.paint, OnHandMove); KinectRegion.AddQueryInteractionStatusHandler(this.paint, OnQuery); }
private void OnHandPointerGripRelase(object sender, HandPointerEventArgs handPointerEventArgs) { if (handPointerEventArgs.HandPointer.IsInGripInteraction == false && GripOverButton == true) { bool check = false; Point point = handPointerEventArgs.HandPointer.GetPosition(playfield); for (int i = 0; i < basketCount; i++) { if ((point.X >= basket[i].Position.X) && (point.X <= basket[i].EndPosition.X) && (point.Y >= basket[i].Position.Y) && (point.Y <= basket[i].EndPosition.Y)) { if (GripApple.Color == basket[i].Color) { handPointerEventArgs.Handled = true; gameScore.collectSuccess(); check = true; } } } if (!check) { handPointerEventArgs.Handled = true; gameScore.collectFail(); check = false; Apple MovingApple = new Apple(GripApple, point.X, point.Y); playfield.Children.Add(MovingApple.Figure); MoveTo(MovingApple, GripApple.Pos.X, GripApple.Pos.Y, point.X, point.Y); KinectRegion.AddQueryInteractionStatusHandler(MovingApple.Figure, OnQuery); KinectRegion.AddHandPointerGripHandler(MovingApple.Figure, OnHandPointerGrip); handPointerEventArgs.Handled = true; } } GripOverButton = false; }
public void RegisterCallbackToSensor(KinectSensor sensor) { if (isRegisterAllFrameReady) { sensor.AllFramesReady += sensor_AllFramesReady; } else { sensor.SkeletonFrameReady += sensor_SkeletonFrameReady; sensor.DepthFrameReady += sensor_DepthFrameReady; sensor.ColorFrameReady += sensor_ColorFrameReady; } KinectRegion.AddHandPointerGotCaptureHandler(element, this.OnHandPointerCaptured); KinectRegion.AddHandPointerLostCaptureHandler(element, this.OnHandPointerLostCapture); KinectRegion.AddHandPointerEnterHandler(element, this.OnHandPointerEnter); KinectRegion.AddHandPointerMoveHandler(element, this.OnHandPointerMove); KinectRegion.AddHandPointerPressHandler(element, this.OnHandPointerPress); KinectRegion.AddHandPointerGripHandler(element, this.OnHandPointerGrip); KinectRegion.AddHandPointerGripReleaseHandler(element, this._onHandPointerGripRelease); KinectRegion.AddQueryInteractionStatusHandler(element, this.OnQueryInteractionStatus); KinectRegion.SetIsGripTarget(element, true); KinectState.Instance.KinectRegion.HandPointersUpdated += KinectRegion_HandPointersUpdated; }