2013-10-25 85 views
0

我确定我已经读过,有一种获得与Xna的触摸坐标的方法。但它不是真正的UIE,它是纹理绘制形状。
目前我让他们移动这样的:获取用户界面元素触摸

void update() 
    TouchPanelCapabilities touchCap = TouchPanel.GetCapabilities();    
      if (touchCap.IsConnected) 
      { 
       TouchCollection touches = TouchPanel.GetState(); 
       if (touches.Count >= 1) 
       { 
        Vector2 PositionTouch = touches[0].Position; 
        Position.X = PositionTouch.X - (t_Sprite.Width/2); 
        Position.Y = PositionTouch.Y - (t_Sprite.Height/2); 
       } 
      } 

这是我DragableObject类的方法。 我有障碍DragableObject,我的问题是当我移动一个元素,所有其他人也移动。有人帮忙吗?

回答

0

我终于做了什么,现在“工作”。但不知道它是否是后来实施碰撞的好方法。

public void Update(GameTime gametime) 
{ 
    Currentposition = Station.Position; 

    TouchPanelCapabilities touchCap = TouchPanel.GetCapabilities(); 
    if (touchCap.IsConnected) 
    { 
     TouchCollection touches = TouchPanel.GetState(); 
     if (touches.Count >= 1) 
     { 
      Vector2 PositionTouch = touches[0].Position; 
      for (int i = 0; i < ListDragObj.Count(); i++) 
      { 
       if (ListDragObj[i].Shape.Contains((int)PositionTouch.X, (int)PositionTouch.Y)) 
       { 
        ListDragObj[i].selected = true; 
       } 
       else 
       { 
        ListDragObj[i].selected = false; 
       } 
       ListDragObj[i].Update(PositionTouch); 
      } 
     } 
    } 
}