当前位置: 首页>>代码示例>>C#>>正文


C# Touch.GetType方法代码示例

本文整理汇总了C#中Touch.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# Touch.GetType方法的具体用法?C# Touch.GetType怎么用?C# Touch.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Touch的用法示例。


在下文中一共展示了Touch.GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ConstructTouchFromMouseInput

    /// <summary>
    /// Utility method. It gets current MouseInput (left mouse button) 
    /// and constructs a Touch with it
    /// </summary>
    /// <returns>Constructed touch</returns>
    private Touch ConstructTouchFromMouseInput()
    {
        // Boxing. Or any of the FieldInfo.SetValue won't work
        object mouseAsTouch = new Touch();

        // Some nasty Reflection stuff
        FieldInfo phaseFieldInfo = mouseAsTouch.GetType().
            GetField("m_Phase", BindingFlags.NonPublic | BindingFlags.Instance);
        FieldInfo positionFieldInfo = mouseAsTouch.GetType().
            GetField("m_Position", BindingFlags.NonPublic | BindingFlags.Instance);
        FieldInfo fingerIdFieldInfo = mouseAsTouch.GetType().
            GetField("m_FingerId", BindingFlags.NonPublic | BindingFlags.Instance);

        // Setting touch phase based on mouse button state
        if (Input.GetMouseButtonDown(0))
            phaseFieldInfo.SetValue(mouseAsTouch, TouchPhase.Began);
        else if (Input.GetMouseButtonUp(0))
            phaseFieldInfo.SetValue(mouseAsTouch, TouchPhase.Ended);
        else
            // We don't check if it's actually moved for simplicity, we don't use Moved / Stationary anyway
            phaseFieldInfo.SetValue(mouseAsTouch, TouchPhase.Moved);

        positionFieldInfo.SetValue(mouseAsTouch, new Vector2(Input.mousePosition.x, Input.mousePosition.y));
        // It has a hardcoded fingerId of 255
        fingerIdFieldInfo.SetValue(mouseAsTouch, 255);

        return (Touch)mouseAsTouch;
    }
开发者ID:kms1837,项目名称:killed_the_Devil,代码行数:33,代码来源:CNAbstractController.cs


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