• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Touch.TouchLocation类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Microsoft.Xna.Framework.Input.Touch.TouchLocation的典型用法代码示例。如果您正苦于以下问题:C# TouchLocation类的具体用法?C# TouchLocation怎么用?C# TouchLocation使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



TouchLocation类属于Microsoft.Xna.Framework.Input.Touch命名空间,在下文中一共展示了TouchLocation类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Update

 public void Update(TouchLocation touchLocation)
 {
     if (touchLocation.State == TouchLocationState.Pressed && _picked < 0)
     {
         Vector2 delta = touchLocation.Position - _position;
         if (delta.LengthSquared() <= 2025f)
         {
             _picked = touchLocation.Id;
         }
     }
     if ((touchLocation.State == TouchLocationState.Pressed ||
         touchLocation.State == TouchLocationState.Moved) && touchLocation.Id == _picked)
     {
         Vector2 delta = touchLocation.Position - _center;
         if (delta != Vector2.Zero)
         {
             float _length = delta.Length();
             if (_length > 25f)
             {
                 delta *= (25f / _length);
             }
             StickPosition = delta / 25f;
             StickPosition.Y *= -1f;
             _position = _center + delta;
         }
     }
     if (touchLocation.State == TouchLocationState.Released && touchLocation.Id == _picked)
     {
         _picked = -1;
         _position = _center;
         StickPosition = Vector2.Zero;
     }
 }
开发者ID:Nailz,项目名称:MonoGame-Samples,代码行数:33,代码来源:VirtualStick.cs


示例2: Create

        internal static Motion Create( TouchLocation location, bool is8D )
        {
            Motion motion = new Motion ( );

            switch ( location.State )
            {
                case TouchLocationState.Invalid:
                    motion.Type = MotionType.None;
                    break;

                case TouchLocationState.Pressed:
                    motion.Type = MotionType.Down;
                    break;

                case TouchLocationState.Moved:
                    motion.Type = MotionType.Press;
                    break;

                case TouchLocationState.Released:
                    motion.Type = MotionType.Up;
                    break;
            }

            motion.Position = location.Position / World.Scale;

            TouchLocation prevLocation;

            if ( location.TryGetPreviousLocation ( out prevLocation ) && prevLocation.State != TouchLocationState.Invalid )
                motion.Offset = ( location.Position - prevLocation.Position ) / World.Scale;

            return motion;
        }
开发者ID:Otto404,项目名称:wp-xna,代码行数:32,代码来源:Motion.cs


示例3: Touch

 public Touch(TouchLocation location)
 {
     this.systemTouch = location;
     this.TouchID = location.Id;
     this.positions.Begin = this.systemTouch.Position;
     this.positions.Current = this.systemTouch.Position;
 }
开发者ID:doanhtdpl,项目名称:plants-vs-zombies-gameonmobile-uit-term7,代码行数:7,代码来源:Touch.cs


示例4: Update

        public override void Update(GameTime gameTime)
        {
            _touchLocation = TouchPanel.GetState().FirstOrDefault<TouchLocation>();

             	            if (_touchLocation.State == TouchLocationState.Pressed)
             	            {
             	                _intersectRect.X = (int)_touchLocation.Position.X;
             	                _intersectRect.Y = (int)_touchLocation.Position.Y;
             	                _intersectRect.Width = 1;
             	                _intersectRect.Height = 1;

             	                if (_intersectRect.Intersects(_rightRect))
             	                    PressedDirection = DpadDirection.dRIGTH;
             	                else if (_intersectRect.Intersects(_leftRect))
             	                    PressedDirection = DpadDirection.dLEFT;
             	                else if (_intersectRect.Intersects(_upRect))
             	                    PressedDirection = DpadDirection.dUP;
             	                else if (_intersectRect.Intersects(_downRect))
             	                    PressedDirection = DpadDirection.dDOWN;
             	                else
             	                    PressedDirection = DpadDirection.dNONE;

             	            }
             	            else if ((_touchLocation.State == TouchLocationState.Invalid) || (_touchLocation.State == TouchLocationState.Released))
             	                PressedDirection = DpadDirection.dNONE;

                base.Update(gameTime);
        }
开发者ID:hristotanchev,项目名称:PMU_Game,代码行数:28,代码来源:DPadController.cs


示例5: OnTouch

 protected override void OnTouch(TouchLocation touch)
 {
     base.OnTouch(touch);
     this.Direction = -1 * (touch.Position - new Vector2(Game1.ScreenWidth / 2, Game1.ScrrenHeight / 2));
     this.DistanceToMove = this.Direction.Length();
     this.Direction.Normalize();
 }
开发者ID:jefim,项目名称:hopeless,代码行数:7,代码来源:Background.cs


示例6: Update

        public override void Update(GameTime gameTime)
        {
            _touchData.Clear();
            TouchCollection currentTouches = TouchPanel.GetState();
            foreach (TouchLocation touchLocation in currentTouches)
            {
                if ((touchLocation.State != TouchLocationState.Invalid) && (touchLocation.State != TouchLocationState.Released))
                {
                    TouchLocation previousLocationContainer = new TouchLocation();
                    if (touchLocation.TryGetPreviousLocation(out previousLocationContainer))
                    {
                        _touchData.Add(new Touch(
                            TranslatePositionFromScreenToBuffer(touchLocation.Position),
                            TranslatePositionFromScreenToBuffer(previousLocationContainer.Position)));
                    }
                    else
                    {
                        _touchData.Add(new Touch(
                            TranslatePositionFromScreenToBuffer(touchLocation.Position),
                            TranslatePositionFromScreenToBuffer(touchLocation.Position)));
                    }
                }
            }

            base.Update(gameTime);
        }
开发者ID:Ben-P-Leda,项目名称:Bopscotch-IOS,代码行数:26,代码来源:TouchProcesser.cs


示例7: Unproject

 public static TouchLocation Unproject(TouchLocation touchLocation)
 {
     return new TouchLocation(
                   touchLocation.Id,
                   touchLocation.State,
                   Unproject(touchLocation.Position));
 }
开发者ID:bbqchickenrobot,项目名称:WPFLight,代码行数:7,代码来源:ScreenHelper.cs


示例8: OnTouchMove

		public override void OnTouchMove (TouchLocation state) {
			var offset = Math.Min (0, state.Position.Y - startPos);
			if (-offset > (contentHeight - (this.ActualHeight - 50)))
				offset = -(contentHeight - (this.ActualHeight - 50));

			this.VerticalOffset = (int)offset;
			base.OnTouchMove (state);
		}
开发者ID:bbqchickenrobot,项目名称:WPFLight,代码行数:8,代码来源:DataGrid.cs


示例9: CheckUserTouch

 public override void CheckUserTouch(TouchLocation tl)
 {
     if (tl.State == TouchLocationState.Pressed)
        {
        if (BlockHitBoxTouch.Intersects(new Rectangle((int)tl.Position.X, (int)tl.Position.Y, 1, 1)))
            Destroy();
        }
 }
开发者ID:patrickzip,项目名称:fries-and-furious,代码行数:8,代码来源:DestructibleBlock.cs


示例10: OnTouchMove

		public override void OnTouchMove (TouchLocation state) {
			base.OnTouchMove (state);
			if (mouseDown) {
				if (DateTime.UtcNow - lastClick >= this.Interval) {
					OnClick ();
					lastClick = DateTime.UtcNow;
				}
			}
		}
开发者ID:bbqchickenrobot,项目名称:WPFLight,代码行数:9,代码来源:RepeatButton.cs


示例11: OnTouchUp

		public override void OnTouchUp (TouchLocation state) {
			foreach (var c in this.Children.OfType<Control>())
				if (c.IsEnabled 
						&& c.Opacity > 0 
						&& VisualTreeHelper.IsVisible ( c ) 
						&& (c.HitTest(state.Position) || c.IsTouchDown))
					c.OnTouchUp(state);

			base.OnTouchUp (state);
		}
开发者ID:bbqchickenrobot,项目名称:WPFLight,代码行数:10,代码来源:Panel.cs


示例12: Update

        public void Update(TouchCollection toucheCollection, GameTime gameTime)
        {
            TouchLocation[] touchLocs = new TouchLocation[toucheCollection.Count];
            int i = 0;
            foreach (var touch in toucheCollection)
            {
                touchLocs[i++] = new TouchLocation(touch.Id, touch.State, orientation.Transform(touch.Position));
            }

            baseTC.Update(new TouchCollection(touchLocs), gameTime);
        }
开发者ID:doanhtdpl,项目名称:plants-vs-zombies-gameonmobile-uit-term7,代码行数:11,代码来源:OrientedTouchController.cs


示例13: UpdateLocation

        internal void UpdateLocation(TouchLocation touchLocation)
        {
            if (this.TouchID == touchLocation.Id)
            {
                this.systemTouch = touchLocation;
                this.positions.UpdateLocation(touchLocation.Position);
                return;
            }

            throw new InvalidOperationException(string.Format("TouchLocation id({0}) must be matched with TouchID({1})", touchLocation.Id, TouchID));
        }
开发者ID:doanhtdpl,项目名称:plants-vs-zombies-gameonmobile-uit-term7,代码行数:11,代码来源:Touch.cs


示例14: handeTouch

 public void handeTouch( TouchLocation touch )
 {
     if (this.rect.Contains((int)touch.Position.X, (int)touch.Position.Y))
     {
         pressed = true;
     }
     else
     {
         pressed = false;
     }
 }
开发者ID:naveenchandru,项目名称:aadupuli,代码行数:11,代码来源:Button.cs


示例15: OnTouchDown

		public override void OnTouchDown (TouchLocation state) {
			foreach (var c in this.Children.OfType<Control>()) {
				if (c.IsEnabled 
						&& c.Opacity > 0 // TODO Should remove, in WPF, transparent Buttons are clickable
						&& VisualTreeHelper.IsVisible ( c ) 
						&& c.HitTest(state.Position)) {
					c.OnTouchDown(state);
				}
			}
			base.OnTouchDown (state);
		}
开发者ID:bbqchickenrobot,项目名称:WPFLight,代码行数:11,代码来源:Panel.cs


示例16: IsPressed

        public bool IsPressed(TouchLocation touchLocation, float gameWindowHeight)
        {
            var gY = gameWindowHeight - touchLocation.Position.X;
              var gX = touchLocation.Position.Y;

              if ((gX > Position.X && gX < (Position.X + Size.Width)) && (gY < (Position.Y + Size.Height)) && gY > Position.Y)
              {
            return true;
              }
              return false;
        }
开发者ID:CrappySolutions,项目名称:firstgame,代码行数:11,代码来源:Button.cs


示例17: CheckUserTouch

        public override void CheckUserTouch(TouchLocation tl)
        {
            if (moved)
                return;

            if (BlockHitBoxTouch.Intersects(new Rectangle((int)tl.Position.X, (int)tl.Position.Y, 1, 1)))
            {
                moved = true;
            }

            base.CheckUserTouch(tl);
        }
开发者ID:patrickzip,项目名称:fries-and-furious,代码行数:12,代码来源:SlidingBlock.cs


示例18: IsPointInAsset

		public override bool IsPointInAsset(TouchLocation TL)
		{
			if (TL.Position.X >= gridX * GlobalConstants.TILE_WIDTH && TL.Position.X <= (gridX + width) * GlobalConstants.TILE_WIDTH)
			{
				if (TL.Position.Y >= gridY * GlobalConstants.TILE_HEIGHT && TL.Position.Y <= (gridY + height) * GlobalConstants.TILE_HEIGHT)
				{
					return true;
				}
			}

			return false;
		}
开发者ID:cphackm,项目名称:BananaRTSWP8,代码行数:12,代码来源:DebugBuilding.cs


示例19: Update

 public void Update(TouchLocation touchLocation)
 {
     if (touchLocation.State == TouchLocationState.Pressed ||
         touchLocation.State == TouchLocationState.Moved)
     {
         Vector2 delta = touchLocation.Position - _position;
         if (delta.LengthSquared() <= 400f)
         {
             Pressed = true;
         }
     }
 }
开发者ID:wegorich,项目名称:XNA-Game-and-WPF-Map-Editor,代码行数:12,代码来源:VirtualButton.cs


示例20: InteractLocation

 public void InteractLocation(TouchLocation touchLocation)
 {
     if (touchLocation.State == TouchLocationState.Pressed)
         m_pressLocation = touchLocation.Position;
     else if (touchLocation.State == TouchLocationState.Moved)
     {
         Vector2 position = new Vector2();
         position = WorldGameMode.m_Instance.WorldPosition + m_pressLocation - touchLocation.Position;
         m_pressLocation = touchLocation.Position;
         CenterOn(position);
     }
 }
开发者ID:steveyaz,项目名称:Warlock,代码行数:12,代码来源:Map.cs



注:本文中的Microsoft.Xna.Framework.Input.Touch.TouchLocation类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Media.MediaLibrary类代码示例发布时间:2022-05-26
下一篇:
C# Touch.GestureSample类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap