使用加速计接口制作液位仪表
浏览:804 次

首先,查看小程序的加速计界面
wx。onAccelerometerChange(函数回调)
倾听加速度数据事件。频率基于wx的间隔参数。启动加速计()。调用接口后,它将自动开始侦听。
参数
函数回调
加速度数据事件回调功能
参数
对象资源
属性
类型
解释
x(x)
数字
X轴
y
数字
Y轴

z
数字
Z轴
通过上面的API,我们可以得到以下代码,这些代码可以放在applet onLoad的回调中
wx。论加速计更改(功能(res){
常数{x,y,z}=res;
})
因此,x y z分别表示x轴、y轴和z轴。如何在手机上显示
[图像上载失败…(Image-f3ba60-1603857354532)]
从上图中,我们可以看到手机的坐标。如果我们有一条水平线,它将显示在手机中
形象
如上图所示,我们只需要计算x和y之间的角度。接下来如何计算?我们使用两种数学知识
1.数学atan2()
形象
**数学。atan2()接受两个参数x和y,如下所示:**
angel=数学atan2(y,x)3
X指定点的X坐标的数字。

Y是点的Y坐标的编号。
计算的角度是一个弧度值,也可以表示直角三角形的对角的角度,其中x是边长,y是对边长。
*2.角度=弧度180/数学PI
形象
了解以上两个知识后,我将继续编写代码
wx。论加速计更改(功能(res){
常数{x,y,z}=res;
//根据公式计算角度
const rotateXY=数学。atan2(x,y)*180/数学PI;
//该角度可以指定给数据,视图图层可以调整该角度
this.set数据({
rotateXY:旋转XY
})
})
以下是wxml中的内容
<视图>
好了,整个事情都结束了。在底部添加相机以测量对象是否水平。如下图所示,我的手机实际上是倾斜的,里面的线总是水平的

微信图片_ 20201102141608.jpg