在触摸时获取 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
,我的问题是当我移动一个元素时,所有其他元素也会移动。有人帮忙吗?
我终于做了什么,目前"有效"。但是不知道这是否是以后实现碰撞的好方法。
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);
}
}
}
}