Windows Phone 十八、加速计

加速度传感器

手机的加速度传感器工作时是通过 x、y、z 三个轴的偏移来计算的

在代码基本的 API 主要集中在 Accelerometer 类型中

主要是使用该类型的对象捕获 ReadingChanged 事件监视加速度值变化的

X、Y、Z 加速度传感值

1     <StackPanel>
2         <TextBox x:Name="txtX" Header="X:"/>
3         <TextBox x:Name="txtY" Header="Y:"/>
4         <TextBox x:Name="txtZ" Header="Z:"/>
5     </StackPanel>
 1         protected override void OnNavigatedTo(NavigationEventArgs e)
 2         {
 3             // 先拿到传感器对象
 4             Accelerometer a = Accelerometer.GetDefault();
 5             if (a == null)
 6             {
 7                 // 代表没有加速计传感器对象
 8                 System.Diagnostics.Debug.WriteLine("没有加速计传感器");
 9                 return;
10             }
11             a.ReadingChanged += a_ReadingChanged;
12             a.ReportInterval = a.MinimumReportInterval * 5;
13         }
14
15         async void a_ReadingChanged(Accelerometer sender, AccelerometerReadingChangedEventArgs args)
16         {
17             System.Diagnostics.Debug.WriteLine(args + "改变了。。。");
18             // 拿到变化值
19             await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
20             {
21                 txtX.Text = args.Reading.AccelerationX.ToString();
22                 txtY.Text = args.Reading.AccelerationY.ToString();
23                 txtZ.Text = args.Reading.AccelerationZ.ToString();
24             });
25         }

平衡检测

1     <Grid>
2
3         <Path Data="M180.348,341.493 L144.279,392.488 L162.935,391.244 L161.692,630.05 L200.249,630.05 L196.517,392.488 L216.418,393.731 z" Fill="#FF6AEA00" HorizontalAlignment="Center" Height="289.557" Stretch="Fill" Stroke="Black" UseLayoutRounding="False" VerticalAlignment="Bottom" Width="73.139" RenderTransformOrigin="0.5,1">
4             <Path.RenderTransform>
5                 <CompositeTransform x:Name="rotate" Rotation="0"/>
6             </Path.RenderTransform>
7         </Path>
8
9     </Grid>
 1         protected override void OnNavigatedTo(NavigationEventArgs e)
 2         {
 3             DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape;
 4             // 先拿到传感器对象
 5             Accelerometer a = Accelerometer.GetDefault();
 6             if (a == null)
 7             {
 8                 // 代表没有加速计传感器对象
 9                 System.Diagnostics.Debug.WriteLine("没有加速计传感器");
10                 return;
11             }
12             a.ReadingChanged += a_ReadingChanged;
13             a.ReportInterval = a.MinimumReportInterval * 10;
14         }
15
16         async void a_ReadingChanged(Accelerometer sender, AccelerometerReadingChangedEventArgs args)
17         {
18             System.Diagnostics.Debug.WriteLine(args + "改变了。。。");
19             // 拿到变化值
20             await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
21             {
22                 rotate.Rotation = args.Reading.AccelerationY * 90;
23             });
24         }
时间: 2024-10-11 04:50:58

Windows Phone 十八、加速计的相关文章

Windows Phone 十八、罗盘

磁力计概述 拥有磁力计硬件支持的设备可以根据磁力计来确定相对于北极的角度 磁力计的访问 API 定义在 Compass 类中 调用方式和加速计类似 1 <Grid Background="White"> 2 <Image Source="compass.png" RenderTransformOrigin="0.5,0.5"> 3 <Image.RenderTransform> 4 <CompositeT

48. 蛤蟆的数据结构笔记之四十八的有向无环图的应用关键路径

48. 蛤蟆的数据结构笔记之四十八的有向无环图的应用关键路径 本篇名言:"富贵不淫贫贱乐 ,男儿到此是豪雄.-- 程颢" 这次来看下有向无环图的另一个应用关键路径. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/47135061 1.  关键路径 与AOV-网相对应的是AOE-网(Activity On Edge)即边表示活动的网.AOE-网是一个带权的有向无环图,其中,顶点表示事件(Event),弧表示活动,权表

程序员的奋斗史(三十八)——大学断代史(二)——我与数据库的故事

文/.温国兵 惰性人皆有之,也算是人的一大天性.几日之前便构思好此文,怎奈每日杂事繁多,今日才提起笔,作下此文.本文谈谈我与数据库的故事. 说起和数据库结缘,还得从大一说起.大一刚开始接触C语言,每日就沉浸在无止境的代码中.在网上查资料的过程中,看到别人用C语言写了一个小型的图书操作程序,数据库采用的是SQL Server,运行出来的效果图很炫,惊叹原来还可以这样管理数据.熟知C语言的同学肯定对文件操作不陌生,当时我们写程序如果有静态数据,都是放在文件里的.直到后来做的C语言课程设计,我也是一大

PHP从零单排(十八)图片处理

1.打开已经存在的图片 <?php header("Content-type:image/jpeg"); $img=imagecreatefromjpeg("cc.jpg"); imagejpeg($img); imagedestroy($img); ?> 函数imagecreatefromjpeg()的参数即文件所在路径,返回值是参数所指图片的资源标识符.该函数时通过已有图像新建一个图像,并不是单纯打开原图像本身.如果将图片的后缀名.jpg强制改为.p

NeHe OpenGL教程 第三十八课:资源文件

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十八课:资源文件 从资源文件中载入图像: 如何把图像数据保存到*.exe程序中,使用Windows的资源文件吧,它既简单又实用. 欢迎来到NeHe教程第38课.离上节课的写作已经有些时日了,加上写了一整天的code,也许笔头已经

第十八篇:融汇贯通--谈USB Video Class驱动

USB Video Class驱动是WINDOWS系统包含的一个针对于USB VIDEO 类的驱动程序. 好多工程师都做过USB VIDEO设备端的开发, 主要的工作内容为: 使用FIRMWARE,或者LIINUX GADGET驱动程序, 构建USB VIDEO设备的描述符, 通过这些描述符的TOPOLOGY关系, 让系统了解,设备所支持的某些控制, 支持的视频格式, 系统驱动通过对这些描述符的解释, 构建自己的KS, FILTER, NODE, PIN网络, 属性, 方法, 最终, 又由这些F

winform学习日志(二十八)----------将汉字转化为拼音,正则表达式和得到汉字的Unicode编码

一:上图,不清楚的看代码注解,很详细了 二:具体代码 窗体代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Text.RegularExpressio

【Python之路】第十八篇--MySQL(一)

[Python之路]第十八篇--MySQL(一) 一.概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一个软件,都有两个主要的功能: a. 将数据保存到文件或内存 b. 接收特定的命令,然后对文件进行相应的操作 PS:如果有了以上软件,无须自己再去创建文件和文件夹,而是直接传递 命令 给上述软件,让其来进行文件操作,他们统称为数

使用 C# 开发智能手机软件:推箱子(十八)

这是"使用 C# 开发智能手机软件:推箱子" 系列文章的第十八篇.在这篇文章中.介绍 Window/SelectLevelDlg.cs 源程序文件. 这个源程序文件包括 SelectLevelDlg 类,该类继承自 System.Windows.Forms.Form 类.表示推箱子的"选关"对话框.例如以下图所看到的: 以下是 Window/SelectLevelDlg.Designer.cs 的源程序的部分代码: namespace Skyiv.Ben.PushB