在触摸时获取 UI 测试

本文关键字:UI 测试 获取 触摸 | 更新日期: 2023-09-27 18:36:54

我确定我已经读到有一种方法可以在Touch with 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,我的问题是当我移动一个元素时,所有其他元素也会移动。有人帮忙吗?

在触摸时获取 UI 测试

我终于做了什么,目前"有效"。但是不知道这是否是以后实现碰撞的好方法。

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);
            }
        }
    } 
}