예제 #1
0
        private void InputModel_ManipulationUpdated(object sender, KinectManipulationUpdatedEventArgs e)
        {
            var parentCanvas = _dragDropElement.Parent as Canvas;

            if (parentCanvas != null)
            {
                var delta = e.Delta.Translation;
                var y     = Canvas.GetTop(_dragDropElement);
                var x     = Canvas.GetLeft(_dragDropElement);
                if (double.IsNaN(y))
                {
                    y = 0;
                }
                if (double.IsNaN(x))
                {
                    x = 0;
                }

                // delta values are 0.0 to 1.0, so we need to scale it to the number of pixels in the kinect region
                var yDelta = delta.Y * _kinectRegion.ActualHeight;
                var xDelta = delta.X * _kinectRegion.ActualWidth;

                Canvas.SetTop(_dragDropElement, y + yDelta);
                Canvas.SetLeft(_dragDropElement, x + xDelta);
            }
        }
        private void OnManipulationUpdated(KinectManipulationUpdatedEventArgs args)
        {
            var dragableElement = this.Element;

            if (!(dragableElement.Parent is Canvas))
            {
                return;
            }

            var delta            = args.Delta.Translation;
            var translationPoint = new Point(delta.X, delta.Y);
            var translatedPoint  = InputPointerManager.TransformInputPointerCoordinatesToWindowCoordinates(translationPoint, this.kinectRegion.Bounds);

            var offsetY = Canvas.GetTop(dragableElement);
            var offsetX = Canvas.GetLeft(dragableElement);

            if (double.IsNaN(offsetY))
            {
                offsetY = 0;
            }
            if (double.IsNaN(offsetX))
            {
                offsetX = 0;
            }

            Canvas.SetTop(dragableElement, offsetY + translatedPoint.Y);
            Canvas.SetLeft(dragableElement, offsetX + translatedPoint.X);
        }
        private void OnManipulationUpdated(object sender, KinectManipulationUpdatedEventArgs e)
        {
            var parent = _dragDropElement.Parent as Canvas;

            if (parent != null)
            {
                var d = e.Delta.Translation;
                var y = Canvas.GetTop(_dragDropElement);
                var x = Canvas.GetLeft(_dragDropElement);

                if (double.IsNaN(y))
                {
                    y = 0;
                }
                if (double.IsNaN(x))
                {
                    x = 0;
                }

                // Delta value is between 0.0 and 1.0 so they need to be scaled within the kinect region.
                var yD = d.Y * _kinectRegion.ActualHeight;
                var xD = d.X * _kinectRegion.ActualWidth;

                Canvas.SetTop(_dragDropElement, y + yD);
                Canvas.SetLeft(_dragDropElement, x + xD);
            }
        }
예제 #4
0
        void OnManipulationUpdated(
            KinectGestureRecognizer sender,
            KinectManipulationUpdatedEventArgs args)
        {
            // this is 'something of a hack' right now in terms of using this
            // size here.
            var size = Window.Current.Bounds;

            this.transform.ScaleX     *= args.Delta.Scale;
            this.transform.ScaleY     *= args.Delta.Scale;
            this.transform.TranslateX += args.Delta.Translation.X * size.Width;
            this.transform.TranslateY += args.Delta.Translation.Y * size.Height;
        }
예제 #5
0
        //mozgatés közben
        private void OnManipulationUpdated(object sender, KinectManipulationUpdatedEventArgs e)
        {
            Canvas canvas = _dragDropElement.Parent as Canvas;

            finish = canvas.FindName("finish") as Rectangle;

            double finishX = Canvas.GetLeft(finish);
            double finishY = Canvas.GetTop(finish);
            double carX    = Canvas.GetLeft(_dragDropElement);
            double carY    = Canvas.GetTop(_dragDropElement);

            var finishdoboz = canvas.FindName("Finish") as Canvas;
            var finishlabel = canvas.FindName("Szoveg") as Label;


            var parent = _dragDropElement.Parent as Canvas;

            if (parent != null)
            {
                //x,y változóba menti a _dragDropElement jelenlegi helyét
                //d változó a kéz kurzor jelenlegi pozíciója
                var d = e.Delta.Translation;
                var y = Canvas.GetTop(_dragDropElement);
                var x = Canvas.GetLeft(_dragDropElement);

                if (double.IsNaN(y))
                {
                    y = 0;
                }
                if (double.IsNaN(x))
                {
                    x = 0;
                }


                var yD = d.Y * _kinectRegion.ActualHeight;
                var xD = d.X * _kinectRegion.ActualWidth;

                //a Canvas mozgatása
                Canvas.SetTop(_dragDropElement, y + yD);
                Canvas.SetLeft(_dragDropElement, x + xD);


                if ((carX + _dragDropElement.ActualWidth / 2 > finishX + finish.ActualWidth / 2) && carY - _dragDropElement.ActualHeight / 2 < finishY + finish.ActualHeight / 2)
                {
                    sw.Stop();
                    finishdoboz.Visibility = System.Windows.Visibility.Visible;
                    finishlabel.Content    = "Congratulations! Your time" + sw.Elapsed.Seconds + "s Replay?";
                }
            }
        }
        private void OnManipulationUpdated(KinectManipulationUpdatedEventArgs args)
        {
            var dragableElement = this.Element;
            if (!(dragableElement.Parent is Canvas)) return;

            var delta = args.Delta.Translation;
            var translationPoint = new Point(delta.X, delta.Y);
            var translatedPoint = InputPointerManager.TransformInputPointerCoordinatesToWindowCoordinates(translationPoint, this.kinectRegion.Bounds);

            var offsetY = Canvas.GetTop(dragableElement);
            var offsetX = Canvas.GetLeft(dragableElement);

            if (double.IsNaN(offsetY)) offsetY = 0;
            if (double.IsNaN(offsetX)) offsetX = 0;

            Canvas.SetTop(dragableElement, offsetY + translatedPoint.Y);
            Canvas.SetLeft(dragableElement, offsetX + translatedPoint.X);
        }