例子:
//======================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坐标
分享到:
相关推荐
iphone 重力感应代码 iphone 重力感应代码 iphone 重力感应代码
Android 小球重力感应 代码~~~~~~~~~~~~
飞行器的重力感应代码的是测试100%是对的,玩大家好评
Unity3D的实战项目-C#实现的重力感应飞行游戏游戏源代码
android重力感应源代码
一款android重力感应源代码,里面有详细的讲解。
stm32c8t6蓝牙重力感应小车代码,能实现通过改变手机的形态来使车卡进后退
android 利用重力感应监听 微修改代码可以解决 来电时翻转手机后静音。
这是一个网上找的最短代码实现重力感应的例子,大家可以试下
Android 应用项目开发源码 参考和学习使用
Android应用源码开发Demo,主要用于毕业设计学习。
主要介绍了Android编程实现的重力感应效果,以完整示例代码形式分析了重力感应的原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
安卓 编译重力感应的源代码 可以用于编制重力感应控制蓝牙串口 控制单片机 制作蓝牙控制的小车等
android游戏开发之重力感应源码
Android 手机重力传感器调用 源码,作者:Himi,手机加速度传感器 ,也称为重力传感器,自SDK 1.5(api 3)就支持传感器了。解释:此传感器不仅对玩家反转手机的动作可以检测到,而且会根据反转手机的程度,得到传感器的...
iPhone GL 重力感应 源代码 一个利用OpenGL感应重力加速器的例子代码
Android 重力感应传感器控制源码,作者信息:Himi,加速度传感器 ,也称为重力传感器,源代码编译环境需要SDK 1.5(api 3)支持。此重力感应传感器不仅对玩家旋转手机的动作可以检测到,而且会根据反转手机的程度,得到...
Android手机程序代码合集-有重力感应-地图-ucweb界面媒体播放等程序
Android重力感应源代码,用于遥控Arduino机器人。