例子:
//======================Orientation=======================================
var coordinate = {
x : 0,
y : 0,
z : 0
};
function Orientation(selector) {
}
Orientation.prototype.init = function() {
window.addEventListener('deviceorientation', this.orientationListener,false);
window.addEventListener('MozOrientation', this.orientationListener,false);
window.addEventListener('devicemotion', this.orientationListener,false);
}
var orientDate = 0;
Orientation.prototype.orientationListener = function(evt) {
// For FF3.6+
if (!evt.gamma && !evt.beta) {
// angle=radian*180.0/PI 在firefox中x和y是弧度值,
evt.gamma = (evt.x * (180 / Math.PI)); //转换成角度值,
evt.beta = (evt.y * (180 / Math.PI)); //转换成角度值
evt.alpha = (evt.z * (180 / Math.PI)); //转换成角度值
}
/* beta: -180..180 (rotation around x axis) */
/* gamma: -90..90 (rotation around y axis) */
/* alpha: 0..360 (rotation around z axis) (-180..180) */
var gamma = evt.gamma
var beta = evt.beta
var alpha = evt.alpha
if (evt.accelerationIncludingGravity) {
// window.removeEventListener('deviceorientation', this.orientationListener, false);
gamma = event.accelerationIncludingGravity.x * 10
beta = -event.accelerationIncludingGravity.y * 10
alpha = event.accelerationIncludingGravity.z * 10
}
if (this._lastGamma != gamma || this._lastBeta != beta) {
//document.querySelector("#test2").innerHTML = "c-x: "+beta.toFixed(2)+" c-y:"+gamma.toFixed(2)+" c-z:"+(alpha != null ? alpha.toFixed(2) : 0)+ "<br> o-x: " + coordinate.x + " o-y: " + coordinate.y + " o-z: " + coordinate.z;
coordinate.x = beta.toFixed(2);
coordinate.y = gamma.toFixed(2);
coordinate.z = (alpha != null ? alpha.toFixed(2) : 0);
//websocket("coor",coordinate.x+","+coordinate.y+","+coordinate.z);
/* document.querySelector("#test").innerHTML = "x: " + coordinate.x
+ " y: " + coordinate.y + " z: "
+ coordinate.z; */
//Math.max()
this._lastGamma = gamma;
this._lastBeta = beta;
}
};
$(function(){
(new Orientation()).init();
});
PS: coordinate为得到重力感应的x,y,z坐标
分享到:
相关推荐
在这个名为"飞行器的重力感应代码"的项目中,我们可以深入探讨这一技术的实现原理和应用。 首先,让我们了解一下重力感应的核心硬件——加速度计。加速度计是一种测量物体加速度的传感器,如MMA7455,它是野火M3...
在Android平台上,开发一款利用重力感应功能的小球...总之,Android小球重力感应代码示例是一个实用的实践项目,它涵盖了Android传感器API、事件处理、物理运动模拟等多个知识点,对于提升Android开发技能十分有益。
本文将深入探讨如何利用Objective-C或Swift编程语言来编写iPhone的重力感应代码。 首先,我们需要导入Core Motion框架。在Objective-C中,这通常在`ViewController.h`文件中完成: ```objc #import #import @...
这个“android重力感应实例代码”提供了一个具体的示例,帮助开发者理解如何在Android应用中集成并使用重力感应数据。下面将详细介绍相关知识点。 1. **Android传感器系统服务** Android系统提供了Sensor Service...
在Android平台上,重力感应是通过传感器服务来实现的,这是一种能够检测设备在三维空间中的加速度变化的技术。本项目“Android重力感应的测试程序源码”提供了一个实用的示例,帮助开发者理解如何在Android应用中...
在Android平台上,重力感应是通过传感器服务来实现的,这是一种强大的功能,允许开发者创建具有交互性和动态性的应用。这个“Android 重力感应的测试程序源码.zip”包含了一个具体的示例,可以帮助我们理解如何在...
在本项目中,"Unity3D的实战项目-C#实现的重力感应飞行游戏游戏源代码",我们探讨的是如何利用Unity3D引擎和C#编程语言开发一款基于重力感应控制的游戏。这款游戏名为"StarTrooper",可能是玩家通过控制飞行器在宇宙...
本文将深入探讨Android重力感应源代码的相关知识点,帮助开发者理解和实现这一功能。 首先,我们要知道Android中的Sensor类是处理传感器事件的核心接口。在`android.hardware.Sensor`包下,Sensor类提供了获取...
在探讨“最短代码实现重力感应”的主题时,我们主要关注的是如何在Android设备上利用传感器来检测设备的方向变化,即重力感应。这段代码示例提供了在Android应用程序中集成重力感应功能的一种简洁方法。 ### 核心...
【STM32C8T6蓝牙重力感应小车代码】是基于STM32系列微控制器,特别是STM32C8T6型号的一款创新项目,它利用了蓝牙通信技术和重力感应技术,使得用户可以通过智能手机来远程控制小车的前进、后退。STM32C8T6是一款低...
在Android开发中,利用重力感应来实现特定功能是一种常见的技术。通过集成传感器API,开发者可以获取设备的重力变化数据,从而实现如来电时翻转手机静音这样的实用功能。下面将详细介绍如何在Android中利用重力感应...
在Android开发中,重力感应是一项重要的功能,它允许应用程序响应设备的移动和方向变化,为游戏、健康应用、导航等场景提供了丰富的交互体验。本文将深入探讨Android中的重力感应技术,包括基本原理、API使用以及...
在Android开发中,实现小球随手机重力感应滚动的效果是一项常见的练习,它涉及到传感器(Sensor)、游戏物理引擎以及视图更新等多个技术点。这个"Android小球重力感应源码"项目很可能是为了帮助开发者理解如何将手机的...
在Android开发中,重力感应是一项重要的功能,它允许应用程序响应设备的移动和方向变化。本示例将深入探讨如何在Android中实现重力感应器的功能,并提供源码供参考。"TestSensor"这个文件很可能是包含实际代码的测试...
这个项目提供了一套适用于学习的重力感应代码,可以帮助开发者理解如何在Android应用中集成和处理重力传感器的数据。下面我们将深入探讨Android重力感应的相关知识点。 首先,Android系统中的传感器框架是通过`...
在文件列表中提到的"SensorTest"可能是项目中的测试类或者模块,它可能包含了完整的重力感应测试代码,包括初始化传感器、处理传感器数据以及可能的UI反馈等。通过分析和学习这个源文件,开发者可以深入理解如何在...
在本资源包中,我们收集了一系列与Android应用程序开发相关的代码示例,主要涵盖了重力感应、地图集成以及用户界面设计等方面。以下是对每个部分的详细解释: 1. **重力感应(Android手机平台重力感应Demo.zip)** ...
这个名为"iPhone GL 重力感应 源代码"的压缩包提供了一个使用OpenGL ES进行重力感应的示例代码,让我们深入探讨其中涉及的技术和知识点。 首先,我们要知道OpenGL ES(OpenGL for Embedded Systems)是OpenGL的一个...
在Android平台上,重力感应是一种常见且重要的功能,它允许应用程序根据设备的移动或倾斜来感知和响应物理世界中的变化。这个"Android重力感应实例"可能是为了展示如何利用Android SDK中的传感器API来开发一个控制...