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


C# ClientContext.update方法代码示例

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


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

示例1: Main

        public static void Main(string[] args)
        {
            ClientContext.PreloadNativeLibraries();
			using (ClientContext context = new ClientContext("com.osvr.exampleclients.managed.TrackerCallback"))
            {
#if NET20
                using (var button1 = ButtonInterface.GetInterface(context, "/controller/left/1"))
                using (var button2 = ButtonInterface.GetInterface(context, "/controller/left/2"))
#else
                using (var button1 = context.GetButtonInterface("/controller/left/1"))
                using (var button2 = context.GetButtonInterface("/controller/left/2"))
#endif
                {
                    // Pretend that this is your application's main loop
                    for (int i = 0; i < 1000000; ++i)
                    {
                        context.update();

                        // getting the current state calls into the native DLL, so
                        // try to get the state only once per frame.
                        var button1State = button1.GetState();
                        var button2State = button2.GetState();
                        if (button1State.Value == ButtonInterface.Pressed)
                        {
                            Console.WriteLine("Pressing button 1!");
                        }

                        // re-using button1State
                        if(button1State.Value == ButtonInterface.Pressed
                            && button2State.Value == ButtonInterface.Pressed)
                        {
                            Console.WriteLine("Pressing both button 1 and 2!");
                        }
                    }

                    Console.WriteLine("Library shut down; exiting.");
                }
            }
        }
开发者ID:thomasgauthier,项目名称:Managed-OSVR,代码行数:39,代码来源:ButtonState.cs

示例2: Main

        public static void Main(string[] args)
        {
            ClientContext.PreloadNativeLibraries();
			using (ClientContext context = new ClientContext("com.osvr.exampleclients.managed.TrackerCallback"))
            {
                // This is just one of the paths. You can also use:
                // /me/hands/right
                // /me/head
                using (Interface lefthand = context.getInterface("/me/hands/left"))
                {

                    TrackerCallbacks callbacks = new TrackerCallbacks();
                    // The coordinate system is right-handed, withX to the right, Y up, and Z near.
                    var poseInterface = new PoseInterface(lefthand);
                    poseInterface.StateChanged += TrackerCallbacks.myTrackerCallback;

                    // If you just want orientation
                    var orientationInterface = new OrientationInterface(lefthand);
                    orientationInterface.StateChanged += TrackerCallbacks.myOrientationCallback;

                    // or position
                    var positionInterface = new PositionInterface(lefthand);
                    positionInterface.StateChanged += TrackerCallbacks.myPositionCallback;

                    bool resetYawMode = false;
                    // Pretend that this is your application's main loop
                    for (int i = 0; i < 1000000; ++i)
                    {
                        // toggle between reset yaw mode and normal mode
                        // every 5000 iterations.
                        if (i % 5000 == 0)
                        {
                            resetYawMode = !resetYawMode;
                            if(resetYawMode)
                            {
                                context.SetRoomRotationUsingHead();
                            }
                            else
                            {
                                context.ClearRoomToWorldTransform();
                            }
                        }
                        context.update();
                    }

                    Console.WriteLine("Library shut down; exiting.");
                }
            }
        }
开发者ID:thomasgauthier,项目名称:Managed-OSVR,代码行数:49,代码来源:TrackerCallback.cs

示例3: Main

        public static void Main(string[] args)
        {
            ClientContext.PreloadNativeLibraries();
            using (ClientContext context = new ClientContext("com.osvr.exampleclients.managed.TrackerCallback"))
            {
                // This is just one of the paths. You can also use:
                // /me/hands/right
                // /me/head
                using (Interface lefthand = context.getInterface("/me/hands/left"))
                {

                    TrackerCallbacks callbacks = new TrackerCallbacks();
                    // The coordinate system is right-handed, withX to the right, Y up, and Z near.
                    var poseInterface = new PoseInterface(lefthand);
                    poseInterface.StateChanged += TrackerCallbacks.myTrackerCallback;

                    // If you just want orientation
                    var orientationInterface = new OrientationInterface(lefthand);
                    orientationInterface.StateChanged += TrackerCallbacks.myOrientationCallback;

                    // or position
                    var positionInterface = new PositionInterface(lefthand);
                    positionInterface.StateChanged += TrackerCallbacks.myPositionCallback;

                    // Pretend that this is your application's main loop
                    for (int i = 0; i < 1000000; ++i)
                    {
                        context.update();
                    }

                    Console.WriteLine("Library shut down; exiting.");
                }
            }
        }
开发者ID:stephenmsnow,项目名称:Managed-OSVR,代码行数:34,代码来源:TrackerCallback.cs


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