标签:
样本
这里是一个简单的示例程序,跟踪目前在屏幕上的指针和打印他们的位置。访问输入字段,类继承自@ SiliconStudio.Xenko。脚本的类。
public override async Task Execute() { var pointerPositions = new Dictionary<int, Vector2>(); while (true) { await Scheduler.NextFrame(); foreach (var pointerEvent in Input.PointerEvents) { switch (pointerEvent.State) { case PointerState.Down: pointerPositions[pointerEvent.PointerId] = pointerEvent.Position; break; case PointerState.Move: pointerPositions[pointerEvent.PointerId] = pointerEvent.Position; break; case PointerState.Up: case PointerState.Out: case PointerState.Cancel: pointerPositions.Remove(pointerEvent.PointerId); break; default: throw new ArgumentOutOfRangeException(); } } var positionsStr = pointerPositions.Values.Aggregate("", (current, pointer) => current + (pointer.ToString() + ", ")); logger.Info("There are currently {0} pointers on the screen located at {1}", pointerPositions.Count, positionsStr); } }
讲话
一个指针事件包含的信息只有一个指针。如果同时有几个指针修改一个指针事件发送。
指针事件按时间顺序列出事件的(时间)。
一系列的指针事件对于一个给定的指针总是首先行动然后其次是0或多个移动操作和结束的,或取消行动。
指针位置都是标准化的。(0,0)代表工具屏幕的角落,(1,1)代表right-bottom屏幕的角落。
协会手指< - >指针ID是有效的只有在下降- > - >移动指针的事件序列。因此给定的手指可以有不同的id每次离开屏幕。
指针事件的增量值(例如DeltaTime和DeltaPosition)代表相同的变化自从上次事件指针(相同的指针ID)。δ值总是在一开始给定null指针一系列事件(例如当指针状态)。
Xenko基础API笔记3- Pointers指针设备屏幕上点对应的手指触摸。
标签:
原文地址:http://www.cnblogs.com/xxff/p/5838491.html